JAVA课程设计编写一个记事本程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java语言程序设计B报告
题目:编写一个记事本程序
一.要求:用图形用户界面实现。

能实现编辑、保存、另存为、查找替换等功能。

提示:使用文件输入输出流。

二.课程设计思路。

设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。

在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。

三.课程设计实现功能结构图。

3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。

4.1.界面设计。

主要代码:
f=new Frame(s);
p1=new TextArea("");
f.setSize(400,600);
f.setBackground(Color.white);
f.setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
item1=new MenuItem("新建");
item2=new MenuItem("打开");
item3=new MenuItem("保存");
item4=new MenuItem("另存为");
item5=new MenuItem("退出");
item6=new MenuItem("全选");
item7=new MenuItem("复制");
item8=new MenuItem("剪切");
item9=new MenuItem("粘贴"); menu1.add(item1);
menu1.add(item2);
menu1.add(item4); menu1.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menubar.add(menu1); menubar.add(menu2);
f.setMenuBar(menubar);
程序代码实现截图:
4.2功能代码详细设计。

4.2.1新建文件。

if (e.getSource()==item1)
{
if (i==0&&(ss.length()!=0))
{
bc();
}
else
p1.setText("");i=0;f.setTitle("文件对话框"); }
4.2.2打开文件。

if (e.getSource()==item2)
{
fd=new (f,"打开文件",0);
fd.setVisible(true);
try{
(),fd.getFile());
f.setTitle(fd.getFile()+"文件对话框");
fr=new (file);
BufferedReader br=new BufferedReader(fr); String line = null;
String view = "";
while((line=br.readLine())!=null)
{
view += line+"\n";
}
p1.setText(view);
br.close();
}
catch(IOException expIn)
{}
}
4.2.3复制文件。

if (e.getSource()==item7)
{
try{
String str=p1.getSelectedText();
if(str.length()!=0)
{
strt=str;
}
}catch(Exception ex)
{ }
}
4.2.4粘贴文件。

if (e.getSource()==item9)
{
if(strt.length()>0)
{
p1.insert(strt,p1.getCaretPosition()); }
4.2.5退出记事本。

if (e.getSource()==item5)
{
if (i==0 &&(ss.length()!=0))
{
}
else
{
System.exit(0); }
}
五.JAVA课程设计个人总结。

这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的困难,与C、C++语言相比需要克服的困难也相对多一些。

在学习了JAVA课程后,我们通过这次的JAVA课程设计复习和掌握我们学习的JAVA语言知识,并且在课程设计的过程中巩固和运用相关的知识,提高自己的JAVA编程能力。

通过这次的JAVA课程设计,我更好地了解了JAVA的编程方法,并且在遇到困难的时候,能主动请教身边的同学,不仅仅培养了我的编程能力,在与同学的交流中我也更好的培养了与其他人的交流能力,相信通过这次的JAVA课程设计,我更好地学习了JAVA,相信我自己在以后的学习中能继续学习JAVA,在更好地丰富自己JAVA知识的同时,积极提高自己的JAVA编程能力,在以后能更好地掌握JAVA 语言。

JA V A语言课程设计程序源代码:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
class
{
public static String (String fName)
{
String strRead="";
try {
fr=new (fName);
BufferedReader br=new BufferedReader(fr);
String aline=new String();
while((aline=br.readLine())!=null)
strRead=strRead+aline;
br.close();
fr.close();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return strRead;
}
public static void (String fName,String temp)
{
try {
fw=new (fName);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(temp);
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class MyNote implements ActionListener
{
private Frame f;
private TextArea ta;
private MenuBar mb;
private String strme[]={"文件","编辑","帮助"};
private String strmi[][]={{"新建","打开","保存","退出"},{"剪切","拷贝","粘贴","查找"},
private String "";
private Menu me[];
private MenuItem mi[][];
private Label l1,l2;
private TextField t1,t2;
private Button b1,b2,b3;
private Dialog diaFind,diaAbout;
public MyNote(){
f=new Frame("我的记事本");
ta=new TextArea();
f.add(ta);
mb=new MenuBar();
f.setMenuBar(mb);
mi=new MenuItem[strme.length][];
me=new Menu[strme.length];
for(int i=0;i<strme.length;i++){
me[i]=new Menu(strme[i]);
mb.add(me[i]);
mi[i]=new MenuItem[strmi[i].length];
for(int j=0;j<strmi[i].length;j++){
mi[i][j]=new MenuItem(strmi[i][j]);
me[i].add(mi[i][j]);
mi[i][j].addActionListener(this);
}
}
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){ System.exit(0);
}
});
f.setSize(400,300);
f.show();
diaFind=new Dialog(f,"查找",true);
diaFind.setLayout(new FlowLayout());
diaFind.setSize(260,120);
l1=new Label("查找内容");
l2=new Label("替换为");
t1=new TextField(20);
t2=new TextField(20);
b1=new Button("下一个");
b2=new Button("替换");
b3=new Button("取消");
diaFind.add(l1);
diaFind.add(t1);
diaFind.add(l2);
diaFind.add(t2);
diaFind.add(b1);
diaFind.add(b2);
diaFind.add(b3);
diaFind.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
diaFind.dispose();
}
});
}
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
if(cmd.equals("新建")){
"";
"";
ta.setText("");
f.setTitle("我的记事本");
}
if(cmd.equals("打开")){
diaOpen=new (f,"",);
diaOpen.show();
();
();
if(!("")){
ta.setText(());
f.setTitle("我的记事本");
}
}
if(cmd.equals("保存")){
diaSave=new (f,"",);
diaSave.show();
();
();
if(!("")){
(());
f.setTitle("我的记事本");
}
}
if(cmd.equals("退出")){
System.exit(0);
}
if(cmd.equals("剪切")){
int x,y;
x=ta.getSelectionStart();
y=ta.getSelectionEnd();
temp=ta.getSelectedText();
ta.replaceRange("",x,y);
}
if(cmd.equals("拷贝")){
temp=ta.getSelectedText();
}
if(cmd.equals("粘贴")){
ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd());
}
if(cmd.equals("查找")){
diaFind.show();
}
if(cmd.equals("关于")){
}
}
public static void main(String[] args) {
new MyNote();
}
}。

相关文档
最新文档