《Java记事本课程设计》是一门全面介绍使用Java语言开发桌面应用程序的教程。本书不仅提供了详细的理论指导,还包含了完整的项目实践案例、源代码以及相关技术文档,帮助学习者从零开始掌握Java编程技能,实现一个具备基本功能的记事本应用。
JAVA语言课程设计报告
题目:记事本的制作
设计者:
专业班级:
学 号:
2012年 12月 24日
目录
1、系统需求分析
2.系统总体设计
3 系统详细设计
4软件测试
5 系统总结
6系统设计心得体会
7参考文献
1、系统需求分析
1.1系统名称:Window记事本
1.2系统介绍:开发一个window记事本,主要包含主界面和以下功能:
- 文件操作(新建,打开,保存,打印,另存等)
- 编辑功能(全选,复制,剪切,粘贴等)
- 格式设置(自动换行、字体调整等)
- 帮助菜单(帮助主题及关于信息)
1.3开发环境:Eclipse
2.系统总体设计
本节包括:
2.1 系统功能结构图
2.2系统文件结构图
2.3系统编辑结构图
2.4系统格式、帮助结构图
3 系统详细设计
该部分详细介绍各个模块的设计和实现,主要包括:
3.1 主界面:主界面用于选择相应功能并执行。包含四个下拉菜单(文件、编辑、格式、帮助)。
重要代码:
- 创建窗口组件及监听器设置
```java
public Notebook() {
setTitle(记事本 -- 刘兴钢);
con=getContentPane();
text=new JTextArea();
JSPane=new JScrollPane(text);
createMenu();
createPopupMenu();
setJMenuBar(mainMenuBar);
con.add(JSPane,BorderLayout.CENTER);
text.setComponentPopupMenu(popMenu);
text.getDocument().addDocumentListener(this);
text.addKeyListener(new handleKey());
text.addMouseListener(new handleMouse());
setSize(400,300);
setVisible(true);
}
//创建菜单
public void createMenu(){
mainMenuBar=new JMenuBar(); //主菜单栏
fileMenu=new JMenu(文件); editMenu=new JMenu(编辑);
formatMenu=new JMenu(格式); helpMenu=new JMenu(帮助);
}
```
3.2 字体设计界面:提供字体选择功能。
主要代码:
```java
public class fontDialog extends JDialog implements ActionListener,ListSelectionListener{
public static final int Cancle=0;
public static final String [] style={正常,斜体,粗体,粗斜体};
//省略部分细节...
public void actionPerformed(ActionEvent e){
if(e.getSource()==OKBtn){
userFont=new Font(nameText.getText(),styleIndex,fontSize);
userSelect=OK; setVisible(false);
}else{
userSelect=Cancle;
setVisible(false);
}
}
//省略部分细节...
}
```
3.3 保存界面:实现文件的保存功能。
主要代码:
```java
int doSave(){
if (!haveName){
int flag = doSaveAs();
}else if(changed){
try{
fout=new FileOutputStream(file);
content=text.getText().getBytes();
fout.write(content);
changed=false; return 1;
}catch(FileNotFoundException e){
JOptionPane.showMessageDialog(this,指定的文件名称或属性有问题!);
return 0;
}
catch(IOException e){
JOptionPane.showMessageDialog(this,无法写文件,请检查文件是否被锁定);
return 0;
}
}else{
return 1;
}
}
```
3.4 打印设计界面:提供打印功能。