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;