Java课程设计 记事本 课程设计 精品

  • 格式:doc
  • 大小:161.50 KB
  • 文档页数:21

课程设计说明

课程名称: Java课程设计

一、系统设计目的:

1)设计一个简单的Windows记事本,可以实现以下功能:

1:文件的新建,打开,保存;

2:对文件的编辑,如全选,复制,剪切,粘贴;

3、工具,进行大小写的转换

4:执行完操作后,能够顺利关闭记事本;

2)通过这次设计,可以帮助学生:

1:提高对Java语言设计的掌握能力;

2:理论联系实际,进一步提高学生的软件开发技术;

3:培养学生分析、解决问题的能力。

二、系统实现思路:

设计两个类,一个mynotepad类,具有程序的要求和功能再创建一个Notepad主类,在主类中创建一个mynotepad类的对象,就可以直接在编译器中运行程序。

1:界面设计

在主界面中设计一个iFrame容器,并在其中加入一个下拉菜单和一个文本域控件。

2:功能设计

在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,进行不同的操作。

3:代码设计

编写每个控件的相关代码,并进行调试。

三、系统详细设计

1:界面设计

创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。

主要代码:

JMenu[] menus=new JMenu[]{

new JMenu("文件"),

new JMenu("编辑"),

new JMenu("工具"),

new JMenu("关于")

};

JMenuItem optionofmenu[][]=new JMenuItem[][]{{

new JMenuItem("新建"),

new JMenuItem("打开"),

new JMenuItem("保存"),

new JMenuItem("退出")

},

{

new JMenuItem("复制"),

new JMenuItem("剪切"),

new JMenuItem("粘贴"),

new JMenuItem("文字颜色"),

new JMenuItem("背景颜色")

},

{

new JMenuItem("大写转小写"),

new JMenuItem("小写转大写"),

},

{

new JMenuItem("关于")

}

};

void initMenu(){

for(int i=0;i

menu.add(menus[i]);

for(int j=0;j

menus[i].add(optionofmenu[i][j]);

optionofmenu[i][j].addActionListener( action );

}

} this.setJMenuBar(menu);

}

2:功能设计

部分菜单项的相关代码:

新建文件

ActionListener action=new

ActionListener(){ //事件

public void actionPerformed(ActionEvent e){

String name = e.getActionmand();

JMenuItem MI=(JMenuItem)e.getSource();

if("新建".equals(name)){

content.setText("");

file=null;

}else if("打开".equals(name))

{

if(file !=null)openfile.setSelectedFile(file);

int

returnVal=openfile.showOpenDialog(mynotepad.this);

if(returnVal==JFileChooser.APPROVE_OPTION){

file=openfile.getSelectedFile();

unfold();

}

}else if("保存".equals(name)) {

if(file!=null)

openfile.setSelectedFile(file);

int

returnVal=openfile.showSaveDialog(mynotepad.this);

if(returnVal==JFileChooser.APPROVE_OPTION)

{

file=openfile.getSelectedFile();

saving();

}

}else if("退出".equals(name))

{

mynotepad f=new mynotepad();

int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);

if(s==JOptionPane.YES_OPTION)

System.exit(0);

}

else if("剪切".equals(name))

{

content.cut();

}

else if("复制".equals(name))

{ content.copy();

}

else if("粘贴".equals(name))

{

content.paste();

}else if("文字颜色".equals(name)){

color=JColorChooser.showDialog(mynotepad.this,"",color);

content.setForeground(color);

}else if("背景颜色".equals(name)){

color=JColorChooser.showDialog(mynotepad.this,"",color);

content.setBackground(color);

}

else if("大写转小写".equals(name)){

String str=content.getText();

String str1=str.toLowerCase();

content.setText(str1);

}

else if("小写转大写".equals(name)){

String str=content.getText();

String str1=str.toUpperCase();

content.setText(str1);

} else if("关于".equals(name)){

JOptionPane.showMessageDialog(null,"程序制作:郑泽波&鲁裕浩&欧阳国胜&曾成成","关于",RMATION_MESSAGE);

} 四、系统调试运行

1:界面调试

确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成加入菜单控件后,不能缺少this.setJMenuBar(menu); 语句,将menu设为主窗体的菜单条,否则会看不到菜单栏。

如图:

2:功能调试

打开功能:

保存功能:

五、课程设计心得

经过一个星期的我的记事本的课程设计,我在向华萍老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。

首先,让我加深了对Java语言的理论知识的理解;

其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;

再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;

最后,加强了我对Java语言的学习兴趣和好感。 六、参考文献:

[1] 耿详义,张跃平. Java 2 实用教程. 北京:清华大学出版社,20XX.2

[2] 张利国.Java实用教程案例.北京:清华大学出版社,20XX.10

[3] 周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,20XX.3

[4] 李尊朝.Java语言程序设计.北京:中国铁道出版社,20XX.2

[5] (美)Philip Hellerplate Java 2 Certification Study Guide Fourth

Edition(Java 2 证学习指南) (第四版 英文版). 北京:电子工业出版社,20XX.1

七、附 录

程序源代码:

import java.awt.event.*;

import java.awt.*;

import java.io.*;

import ng.String;

class jsb implements ActionListener

{

Dialog bb;

String strt;

int i;

FileDialog fd;