教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

java记事本代码及实验报告

来源:网络收集 时间:2026-08-31
导读: java多线程实验报告及代码 java多线程实验报告及代码 一、实验内容 实验题目:记事本应用程序设计 要求:1.分析WINDOWS“记事本程序”各主要菜单项的功能,画出详细的程序流程图 2.设计完整的UI,并实现“文件”菜单中“新建”“打开”“保存”“另存为”“

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
java记事本代码及实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/985908.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)