西南科技大学 刘涌 JAVA 实验五 - 图文
更新时间:2024-05-30 20:11:01 阅读量: 综合文库 文档下载
- 西南科技大学推荐度:
- 相关推荐
面向对象程序设计A(Java)
实验报告
实验名称:IO实验 实验类型: 指导教师:刘涌 专业班级:信安1205 姓 名:黄学强 学 号:20111849 实验地点:东六E-301 实验成绩:
日期:1
2014年4月20日
实验五 IO实验
一、实验目的
1、练习输入/输出流的创建、转换及数据访问设计方法。 二、实验内容
1、设计一个类似Windows记事本的Application应用程序 三、实验设计
1. 新建一个Application应用程序 2. 通过添加容器和GUI构件设计界面 3. 完成菜单功能的设计及事件的设计。 四、实验过程
1. 采用Java Application方式建立应用程序框架
2. 仿照Windows记事本,利用多种布局方式实现界面设计
界面设计:使用contentPane布局为BorderLayout下添加一个JTextArea定位center 在菜单插入菜单项并仿造window记事本编辑名称
3.在JTextArea下对按键消息捕获实现状态的变换(state=0为初始状态,state=1则为有编辑状态):
4.对window记事本菜单新建、打开、保存、另存在是否有标题是否编辑的情况下进行状态分析,其状态转换图如下:
2
5.定义void returnNewState()方法实现记事本初始化。定义saveUntitledFile(boolean totl,boolean state)方法保存文本,其中对是否要选择路径保存和保存后是否初始化定义了totl和state两个参数(保存代码详见附录)
6.定义int变量state标识是否有标题是否编辑的四个状态(0、1、2、3对应四个状态)
3
;定义一个File变量,保存打开的文件
新建:最后都要初始化,保存过则不需要选择保存路径 void nmuNew_actionPerformed(ActionEvent e) { switch(state) { case 0: break; case 1:
saveUntitledFile(false,true); break; case 2: returnNewState(); break;
case 3:
saveUntitledFile(true,true); break; } }
打开:选择路径文件,打开
void mnuOpen_actionPerformed(ActionEvent e) { JFileChooser jfc = new JFileChooser(); int ret=jfc.showSaveDialog(this); openFile=jfc.getSelectedFile();
this.setTitle(openFile.getName()+\记事本\ if(ret!=jfc.CANCEL_OPTION) {
state = 2;
bufferedReader in = null; try {
in = new bufferedReader(new FileReader(jfc.getSelectedFile())); string line = null; try {
4
while ( (line = in.readerLine()) != null) { txtFile.setTxt(TxtFile.getTxt() + line + \
} }
catch (IOException ex) {
} }
catch (FileNotFindException ex2) {
} } }
保存:都不需要初始化,未保存过则需要选择保存路径 void mnuSave_actionPerformed(ActionEvent e) { switch(state) { case 0:
saveUntitledFile(false,false);state=2; break; case 1:
saveUntitledFile(false,false);state=2; break; case 2:
saveUntitledFile(true,false); break; case 3:
saveUntitledFile(true,false); break; } }
另存为:都需要选择保存路径且都不需要初始化
5
void mnuSaveAs_actionPerformed(ActionEvent e) { switch(state) { case 0:
saveUntitledFile(false,false);state=2; break; case 1:
saveUntitledFile(false,false);state=2; break; case 2:
saveUntitledFile(false,false); break; case 3:
saveUntitledFile(false,false); break; } } 运行图:
6
五、实验结果
1.实现了使用JAVA运行仿window记事本的编辑文字和新建、打开、保存、另存为等功能
六、讨论与分析 1. 收获:
1.基本掌握了输入/输出流的创建、转换及数据访问设计方法 2.对事件的消息响应有了初步的了解与操作体验
3.对记事本实现基本的新建、打开、保存的基本原理及流程有了进一步的了解。 4.学会了对一些简单程序原理及实现过程的分析方法。
7
附录:
关键代码:
void saveUntitledFile(boolean totl,boolean state) {
int ret=0; if (state)
ret=JOptionPane.showOptionDialog(null,\已经打开的文件尚未保存,需要保存吗?\提示\ARNING_MESSAGE,null,null,null);
if(ret!=JOptionPane.CANCEL_OPTION) {
if(!totl&&ret==JOptionPane.YES_OPTION) {
JFileChooser jfc = new JFileChooser(); int ret1=jfc.showSaveDialog(this); if(ret1!=jfc.CANCEL_OPTION) { //save
File curFile = jfc.getSelectedFile(); if(!state) {
this.setTitle(curFile.getName()+\记事本\记事本状态蓝显示打开的文件名称
}
String s=txtFile.getText(); try {
FileWriter fw = new FileWriter(curFile); fw.write(s); fw.close(); }
catch (IOException ex) { } } } else {
String s = txtFile.getText(); try {
FileWriter fw = new FileWriter(openFile); fw.write(s); fw.close(); }
8
catch (IOException ex) { } }
}
if(state)
returnNewState(); } }
9
正在阅读:
长直绩考办发〔2011〕8号05-29
第六章 数组作业06-04
好词佳句大全_经典语句大全08-01
高三数学4月高考模拟试题 理 新人教A版05-06
单选题题库生成的给学生文本(答案)03-08
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- 刘涌
- 西南
- 实验
- 图文
- 大学
- 科技
- JAVA
- 福建海峡银行股份有限公司章程
- 博客系统毕业论文
- 学校体育学考研复习资料AB
- 《社会调查》复习题及答案参考
- 综合实验报告LTE仿真实验
- (高三语文试卷合集)黑龙江2018年高三语文上学期期中考试卷20份
- 组合逻辑电路设计例题
- 森林防火安全教育教案5
- 吸附热力学及动力学的研究
- 物理化学第五版课后习题答案
- 苏教版六年级下册正比例反比例培优专题
- 加行教材(大圆满前行引导文)前行广释全部思考题及解答(仅供参考)
- 食品分析习题课件
- 配电站所物联网综合监控系统 - 图文
- 2018年对口升学电子电工类专业综合模拟试题(含参考答案)
- 英国眼镜市场调研报告
- 零部件测绘与CAD成图技术2018年省赛样题
- 中国饮食文化答案
- 加热炉温度控制系统设计-卢雨生
- 苏教版初一下学期英语期中错题集