java 记事本分析.docx
- 文档编号:5440209
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:14
- 大小:164.46KB
java 记事本分析.docx
《java 记事本分析.docx》由会员分享,可在线阅读,更多相关《java 记事本分析.docx(14页珍藏版)》请在冰点文库上搜索。
java记事本分析
学号
2015-2016学年第二学期
1408210136
《面向对象程序设计》
课程设计报告
题目:
记事本程序
专业:
计算机科学与技术
班级:
14级
(2)班
姓名:
王欣
指导教师:
成绩:
计算机学院
2016年5月1日
目录
1选题背景.......................................................................2
2设计思路.......................................................................2
2.1课程设计思想.........................................................2
2.2流程图.....................................................................3
2.3软硬件运行环境及开发工具.................................3
3过程论述.......................................................................3
3.1知识点.....................................................................3
3.2代码分析.................................................................3
4总结...............................................................................7
致谢...................................................................................7
参考文献...........................................................................7
源代码...............................................................................7
1选题背景
现在网络上各种记事本软件数不胜数,功能也是因有尽有,有能改变字体的,有能改变颜色的。
但是,这些软件又存在各种各种的瑕疵,是初级使用者一时难以掌握的,仅从日常应用方面来说,一个记事本只需一些简单实用的功能就够了。
本程序设计就是依照这样一种使用需求设计了一个简单的记事本程序。
2设计思路
2.1课程设计思想
2.1.1设计内容
设计的记事本程序可以编辑文本(再次使用编辑时,会清空原来的内容);文本录入后可以保存在默认路径下的文本文件中;或另存为自己想要保存到的路径下;可以查询指定的文本内容,如果没有查询到,就给出提示信息,如果查找到了,可以将查询到的内容替换成其它的内容。
2.1.2设计要求
设计一个方便,美观的记事本,实现编辑,保存,另存为,查找和替换功能。
主要功能模块如图2-1所示。
图2-1功能模块图
2.1.3设计功能说明
编辑:
使文本域可以编辑内容,并清空原来的内容。
保存:
可以将编辑到文本域中的内容,保存到默认路径下的文本文件中。
另存为:
可以将文本域中的内容保存到自定义的文件中。
查找和替换:
可以查找文本内容并替换成其它内容。
2.2流程图
系统数据流程图如图2-2所示。
图2-2流程图
2.3软硬件运行环境及开发工具
编成语言:
java语言;
开发环境:
MicrosoftWindowsXP,JDK,Eclipse。
3过程论述
3.1.知识点
本程序是一个简单的记事本程序,涉及到的知识点有图形用户界面,事件处理处理机制,输入输出流等。
3.2代码分析
3.2.1用户界面
记事本程序的用户界面,如图3-1所示。
图3-1用户界面
3.2.2功能代码
(1)保存文本:
如图3-2所示。
图3-2保存文本
代码:
if(jb==jb2){
Filef1=newFile("d:
/记事本/记事本.txt");
try{f1.createNewFile();
FileOutputStreamfos=newFileOutputStream(f1);
fos.write(jt.getText().getBytes());
}catch(Exceptione1){
thrownewRuntimeException(e1);
}
(2)文本另存为:
如图3-3所示。
图3-3文本另存为
代码:
if(jb==jb3){
FileDialogsa=newFileDialog(this,"另存为",FileDialog.SAVE);
sa.show();
fileName=sa.getDirectory()+sa.getFile();
if(fileName!
=null){
try{
Filefile=newFile(fileName);
FileWriterwriteOut=newFileWriter(file);
writeOut.write(jt.getText());
writeOut.close();
}catch(Exceptione1){
JOptionPane.showMessageDialog(this,"Errorwritingfile!
");
}
}
}
(3)查找和替换文本:
如图3-4所示。
图3-4查找替换
代码:
buttonFind.addActionListener(newActionListener(){//“查找下一个”事件
publicvoidactionPerformed(ActionEvente){
StringfindText=jt1.getText();//定义查找的字符串
StringnowText=jt.getText();//定义当前文本框的内容
start=nowText.indexOf(findText,end);//开始位置
end=start+findText.length();//结束位置
if(start==-1){//没有找到,弹出提示
JOptionPane.showMessageDialog(null,"没找到"+findText,"记事本",JOptionPane.WARNING_MESSAGE);
jt.select(start,end);
}
else{//找到了
jt.select(start,end);//显示出找到的内容
}
});
buttonChange.addActionListener(newActionListener(){//“替换”事件
publicvoidactionPerformed(ActionEvente){
StringchangeText=jt2.getText();//定义i替换的字符串
jt.select(start,end);
jt.replaceSelection(changeText);//将查找到的内容替换
jt.select(start,end);
}
});
4总结
在课程设计中,系统开发平台为Windowsxp,程序设计设计语言采用Java。
实现一个简单的记事本程序,实现了编辑,保存,另存为,查找和替换等功能。
在程序设计中,采用了图形用户界面。
程序通过调试运行,初步实现了设计目标,并且经过适当完善后,实现一个简单的记事本。
通过对本程序的开发,让我了解到一个完整系统的开发过程,将一个大的工程问题可以细化到各个模块,让每个模块可以独立去完成各自的功能,最后用函数之间的调用来解决程序开发的全部问题,让我在以后开发程序的道路上更加拥有信心。
致谢
在这次面向对象课程设计中,我的老师和同学给了我及大的帮助。
特别是我的指导老师老师,还有我的小组组长的耐心帮助,在此,我对他们表示感谢!
感谢他们在我面对困难时给了我帮助和支持。
也感谢那些给我帮助的所有同学!
参考文献
[1]王振飞、孙媛.Java语言程序设计.华南理工大学出版社,2015
[2]赵生慧.Java面向对象程序设计实训与考试指导.中国水利水电出版社,2010
源代码
packagepro;
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjavax.swing.*;
publicclassTestextendsJFrameimplementsActionListener{
//建立组件
JFramejf=newJFrame("记事本");
JTextAreajt=newJTextArea();
JButtonjb1=newJButton("编辑");
JButtonjb2=newJButton("保存");
JButtonjb3=newJButton("另存为");
JButtonjb4=newJButton("查找和替换");
Containercp=jf.getContentPane();
//定义变量
intstart=0;
intend=0;
StringfileName="Noname";
publicTest(){//构造方法
super("ActionEvent");//调用构造
//添加事件触发器
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
//界面布局
cp.setLayout(null);
jf.setSize(600,730);
jt.setBounds(30,40,530,550);
jb1.setBounds(45,620,100,50);
jb2.setBounds(170,620,100,50);
jb3.setBounds(295,620,100,50);
jb4.setBounds(420,620,100,50);
//添加组件
cp.add(jt);
cp.add(jb1);
cp.add(jb2);
cp.add(jb3);
cp.add(jb4);
jf.setVisible(true);//显示组件
jt.setEditable(false);//文本域不可编辑
jt.setLineWrap(true);//文本域自动换行
}
publicstaticvoidmain(Stringarg[]){
Testfrm=newTest();
}
//触发事件
publicvoidactionPerformed(ActionEvente){
JButtonjb=(JButton)e.getSource();//事件源
//触发“编辑”事件
if(jb==jb1){
jt.setEditable(true);//文本域可编辑
jt.setText("");//清空文本域
}
//触发“保存”事件
if(jb==jb2){
Filef1=newFile("d:
/记事本/记事本.txt");
try{
f1.createNewFile();
FileOutputStreamfos=newFileOutputStream(f1);
fos.write(jt.getText().getBytes());
//fos.write("\n".getBytes());
}catch(Exceptione1){
thrownewRuntimeException(e1);
}
}
//触发“另存为”事件
if(jb==jb3){
FileDialogsa=newFileDialog(this,"另存为",FileDialog.SAVE);
sa.show();
fileName=sa.getDirectory()+sa.getFile();
if(fileName!
=null){
try{
Filefile=newFile(fileName);
FileWriterwriteOut=newFileWriter(file);
writeOut.write(jt.getText());
writeOut.close();
}catch(Exceptione1){
JOptionPane.showMessageDialog(this,"Errorwritingfile!
");
}
}
}
//触发“查找替换”事件
if(jb==jb4){
//查找对话框
JDialogsearch=newJDialog(this,"查找和替换");//建立对话框
search.setSize(300,100);//设置对话框大小
search.setLocation(150,250);//对话框显示的位置
//建立组件
JLabeljl1=newJLabel("查找的内容");
JLabeljl2=newJLabel("替换的内容");
finalJTextFieldjt1=newJTextField(5);
finalJTextFieldjt2=newJTextField(5);
JButtonbuttonFind=newJButton("查找下一个");
JButtonbuttonChange=newJButton("替换");
JPanelpanel=newJPanel(newGridLayout(2,3));
//添加组件
panel.add(jl1);
panel.add(jt1);
panel.add(buttonFind);
panel.add(jl2);
panel.add(jt2);
panel.add(buttonChange);
search.add(panel);
search.setVisible(true);//显示组件
//“查找下一个”事件
buttonFind.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringfindText=jt1.getText();//定义查找的字符串
StringnowText=jt.getText();//定义当前文本框的内容
start=nowText.indexOf(findText,end);//开始位置
end=start+findText.length();//结束位置
if(start==-1){//没有找到,弹出提示
JOptionPane.showMessageDialog(null,"没找到"+findText,"记事本",JOptionPane.WARNING_MESSAGE);
jt.select(start,end);
}
else{//找到了
jt.select(start,end);//显示出找到的内容
}
}
});
//“替换”事件
buttonChange.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringchangeText=jt2.getText();//定义i替换的字符串
jt.select(start,end);
jt.replaceSelection(changeText);//将查找到的内容替换
jt.select(start,end);
}
});
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 记事本分析 记事本 分析