java记事本代码及实验报告
java多线程实验报告及代码
java多线程实验报告及代码
一、实验内容
实验题目:记事本应用程序设计
要求:1.分析WINDOWS“记事本程序”各主要菜单项的功能,画出详细的程序流程图
2.设计完整的UI,并实现“文件”菜单中“新建”“打开”“保存”“另存为”“退出”等 主要菜单项功能
3.将各主要菜单项的程序流程图及主要代码写入实验报告
二、实验过程
1、写出程序的程序流程图,主要是各个功能的程序流程图
打开
N 保存 另存
java多线程实验报告及代码
退出
N 2、根据程序流程图写出各个方法,新建,打开,保存,另存,退出。
三、实验结果
(应先列出测试数据,要写明实验的现象,实验数据的处理等。对于实验结果的表述,一般有三种方法:文字叙述(根据实验目的将实验结果系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系),图表(用表格或坐标图的方式使实验结果突出、清晰,便于相互比较,尤其适合于分组较多,且各组观察指标一致的实验,使组间异同一目了然;每一图表应有表目和计量单位,应说明一定的中心问题),屏幕截图(实验结果也可以是屏幕截图,充分表明实验的实际情况)。在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。)
1、记事本界面布局
java多线程实验报告及代码
2、功能描述
a、新建:若记事本内容经过修改则提示保存;否则直接初始化记事本
b、打开:选择打开的文件,将文件内容读出,写入记事本
c、保存:若为第一次保存,调用另存函数;否则将文件内容存为新的记事本内容 d、另存:选择另存路径,将记事本内容写入文件
e、退出:若未保存或经过修改,则提示保存,调用保存函数,再退出;否则直接退出
四、讨论与分析
1、实验纠错:
a、实验中,出现打开对话框出现两次的情况,即文件选择之后又弹出对话框,需要再选择一次,但是程序中并未出现两次调用。重新建立工程之后才解决这个错误,不过仍然不知道错误出现在哪里。
实验中,大括号的对应非常重要,应该一一对应,不然很多地方都会报错。应该注意括号的范围。
b、文件都是保存在当前目录下。之前的程序没有保存在当前目录,有些功能就有错,如保存功能不能实现等等。所以后来都换成当前目录打开,保存。
2、实验结果:
实验结果与预期基本一致能实现新建,打开,保存,另存,退出功能。但是功能很混乱,还有很多功能没有实现或者没有考虑到。如,打开就没有再判断是否修改过文件,提示保存。 单个运行各功能问题不大,但连续运行就会出现很多不够严谨的地方。
五、附录:关键代码
以下是记事本程序的主要功能代码:
String str = new String //设了一个全局变量str保存每次功能结束后记事本的内容,便于比较记事本内容是否经过修改。
新建功能:
void New_actionPerformed(ActionEvent e) {
if (! (jTextArea1.getText().equals(str))) {
java多线程实验报告及代码
int i = JOptionPane.showConfirmDialog(null, "文件已经更改,想保存文件吗?", "记事本",
JOptionPane.YES_NO_OPTION); if (i == JOptionPane.YES_OPTION) {
exit_actionPerformed(e);
}
else if (i == JOptionPane.NO_OPTION) {
jTextArea1.setText("");
this.setTitle("无标题--记事本");
}
}
else {
jTextArea1.setText("");
this.setTitle("无标题--记事本");
}
}
打开功能 :
void open_actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser(".");
// JFileChooser jfc = null;
File curFile;
int ret = jfc.showOpenDialog(null);
if (ret == jfc.APPROVE_OPTION) {
curFile = jfc.getSelectedFile();
String name = curFile.getName();
this.setTitle(name);
try {
FileReader fr = new FileReader(curFile);
BufferedReader bf = new BufferedReader(fr);
String s = bf.readLine();
jTextArea1.setText(s + "\n");
while (s != null) {
s = bf.readLine();
jTextArea1.getText();
if (s != null) {
jTextArea1.setText(jTextArea1.getText() + "\n" + s);
}
}
}
catch (Exception ex1) {
}
}
java多线程实验报告及代码
str = jTextArea1.getText();
}
保存功能:
void save_actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser(".");
File file = new File(this.getTitle());
if (! (file.exists())) {
save_as_actionPerformed(e);
}
else {
FileWriter fw = null;
try {
fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jTextArea1.getText());
if (bw != null) {
bw.close();
}
}
catch (Exception ex) {
}
}
str = jTextArea1.getText();
}
另存功能:
void save_as_actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser(".");
int ret = jfc.showSaveDialog(this);
if (ret == jfc.APPROVE_OPTION) {
File file = jfc.getSelectedFile();
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file));
String buff = jTextArea1.getText();
bw.write(buff);
if (bw != null) {
bw.close();
}
}
catch (Exception ex2) {
}
java多线程实验报告及代码
String name = file.getName();
this.setTitle(name);
}
else {
jTextArea1.setText(jTextArea1.getText());
}
str = jTextArea1.getText();
}
退出功能:
//File | Exit action performed
public void exit_actionPerformed(ActionEvent e) {
String s = new String();
s = jTextArea1.getText();
if (s.equals(str)) {
System.exit(0);
}
else {
int i = JOptionPane.showConfirmDialog(null, "文件已经更改,想保存文件吗?", "记事本",
JOptionPane.YES_NO_OPTION); if (i == 0) {
save_actionPerformed(e);
}
else {
System.exit(0);
}
}
}
java多线程实验报告及代码
…… 此处隐藏:1638字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




