java记事本实验报告.docx
- 文档编号:23906620
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:17
- 大小:198.48KB
java记事本实验报告.docx
《java记事本实验报告.docx》由会员分享,可在线阅读,更多相关《java记事本实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
java记事本实验报告
期末考查大作业任务书
课程名称:
Java语言程序设计设计实验
题目:
简单记事本的设计与实现
学院:
管理学院系:
信息管理系
专业班级:
学号:
学生姓名:
起讫日期:
2015-09-01至2015-12-31
课任教师:
郭路生
学院审核(签名):
审核日期:
1、实验内容
完成一个简单的记事本程序。
2、实验要求
1.实现一个记事本窗口,能够处理关闭处理窗口事件。
2.记事本可进行文本编辑
3.记事本具有菜单。
4.具有保存和打开功能。
5.具有字体大小、风格等功能
6.具有复制、粘贴功能(可选项)
3、主要仪器设备及耗材
计算机、eclipse
四、主要参考资料
1.网络教学台平教材材料列出的资料
2.教材及实验指导
3.老师演示的视频
4.网络上相关资料
5、实验步骤
1、程序代码截图
程序源代码(文本版)
importjava.awt.event.*;
importjava.awt.*;
importjava.io.*;
importjavax.swing.*;
publicclassMyJnpextendsFrameimplementsActionListener{//主界面设置
Menuwenjian=newMenu("文件");
Menugeshi=newMenu("格式");
Menuhelp=newMenu("帮助");
MenuBarbar=newMenuBar();
MenuItemdakai=newMenuItem("打开");
MenuItemxinjian=newMenuItem("新建");
MenuItembaocun=newMenuItem("保存");
MenuItemtuichu=newMenuItem("退出");
MenuItemzitixuanz=newMenuItem("字体选择");
MenuItemlingcunwei=newMenuItem("另存为");
MenuItemguanyu=newMenuItem("关于记事本");
TextAreabianjiqu=newTextArea();
publicMyJnp(){
super("记事本");
bar.add(wenjian);
bar.add(geshi);
bar.add(help);
wenjian.add(xinjian);
wenjian.add(dakai);
wenjian.add(baocun);
wenjian.add(lingcunwei);
wenjian.add(tuichu);
geshi.add(zitixuanz);
help.add(guanyu);
add(bianjiqu);
setMenuBar(bar);
setVisible(true);
setBounds(200,100,800,600);
addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});
}
Stringpath;
publicvoidaddActionListener()//添加事件监听
{
dakai.addActionListener(this);
tuichu.addActionListener(this);
xinjian.addActionListener(this);
baocun.addActionListener(this);
lingcunwei.addActionListener(this);
guanyu.addActionListener(this);
zitixuanz.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)//事件处理
{
if(e.getSource()==tuichu)
System.exit(0);
elseif(e.getSource()==dakai)
{
dakaiwenjiantemp=newdakaiwenjian();
bianjiqu.setText(temp.getData());
}
elseif(e.getSource()==xinjian)
{
bianjiqu.setText("");
path=null;
}
elseif(e.getSource()==baocun)
{
if(path==null){
Strings=bianjiqu.getText();
baocunwenjianwen=newbaocunwenjian();
wen.saveData(s);
path=wen.getPath();
}
else
{
baocbao=newbaoc(path);
Strings=bianjiqu.getText();
bao.saveData(s);
}
}
elseif(e.getSource()==guanyu)
{
JOptionPane.showMessageDialog(null,"信管131班6104113035郝君","帮助",JOptionPane.INFORMATION_MESSAGE);
}
elseif(e.getSource()==lingcunwei)
{
Strings=bianjiqu.getText();
newbaocunwenjian().saveData(s);
}
elseif(e.getSource()==zitixuanz)
{
newziti(bianjiqu);
}
}
publicstaticvoidmain(String[]args)
{
newMyJnp().addActionListener();
}
}
classdakaiwenjian{//打开文件得到字符串并在getData方法中返回字符串
BufferedReadertemp;
Stringdata="";
publicdakaiwenjian(){
try{
FileDialogs=newFileDialog(newFrame(),"打开",FileDialog.LOAD);
s.setVisible(true);
Stringpath1=s.getDirectory()+"\\"+s.getFile();
temp=newBufferedReader(newFileReader(path1));
Stringaline;
while((aline=temp.readLine())!
=null)
data=data+aline+'\n';
temp.close();
}catch(Exceptione){System.out.println("打开失败");}
}
publicStringgetData(){
returndata;
}
}
classbaocunwenjian{//第一次保存和另存为调用的类
BufferedWriterbw;
Stringteamp;
publicbaocunwenjian(){
try{
FileDialogs=newFileDialog(newFrame(),"保存",FileDialog.SAVE);
s.setVisible(true);
teamp=s.getDirectory()+s.getFile();
bw=newBufferedWriter(newFileWriter(teamp));
}catch(Exceptione){System.out.println("保存失败");}
}
publicStringgetPath()
{
returnteamp;
}
publicvoidsaveData(Stringtemp1)
{
try{
bw.write(temp1);
bw.close();
}catch(Exceptione){System.out.println("保存失败");}
}
}
classbaoc{//多次保存类
BufferedWriterbw;
Stringteamp;
publicbaoc(Stringteamp){
try{
this.teamp=teamp;
bw=newBufferedWriter(newFileWriter(teamp));
}catch(Exceptione){System.out.println("保存失败");}
}
publicvoidsaveData(Stringtemp1)
{
try{
bw.write(temp1);
bw.close();
}catch(Exceptione){System.out.println("保存失败");}
}
}
classzitiextendsDialogimplementsActionListener{//字体设置类
intsty=0;
intsize=0;
Labelys;
Labelsz;
Panelpan1=newPanel();
Panelpan2=newPanel();
TextFieldyangshi;
TextFielddaxiao;
Fonts;
Buttonqueding;
TextAreata;
publicziti(TextAreata){
super(newFrame(),"字体设置");
this.ta=ta;
queding=newButton("确定");
yangshi=newTextField(5);
daxiao=newTextField(5);
ys=newLabel("样式:
(请输入正整数)");
sz=newLabel("大小:
(请输入正整数)");
pan1.add(ys);
pan1.add(yangshi);
pan2.add(sz);
pan2.add(daxiao);
pan2.add(queding);
add(pan1,BorderLayout.NORTH);
add(pan2,BorderLayout.SOUTH);
queding.addActionListener(this);
setVisible(true);
setBounds(200,200,300,100);
setResizable(false);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
ziti.this.dispose();
}
});
}
publicvoidactionPerformed(ActionEvente){//字体设置处理
Stringk;
if(e.getSource()==queding){
if((k=yangshi.getText())!
=null)
{
sty=Integer.valueOf(k);
}
if((k=daxiao.getText())!
=null)
{
size=Integer.valueOf(k);
}
if(sty>=0&&sty<=100&&size>=0&&size<=100)
{
s=newFont("myfont",sty,size);
ta.setFont(s);
}
ziti.this.dispose();
}
}
}
2、程序运行截图
(1)运行软件
记事本能够处理关闭处理窗口事件
记事本中可以进行文本编辑,达成要求2
记事本拥有菜单,完成要求3
文件选项中有保存和打开
将文件保存为文件一
打开文件一
具有打开和保存的功能完成要求4
点击格式-字体选项
样式输入1,大小输入30,字体如下
样式输入2,大小输入50,字体如下
完成要求具有字体大小、风格等功能,完成要求5
6、思考讨论题或体会或对改进实验的建议
具有复制、粘贴功能这个要求我没有实现,最近临近期末,事情实在是有点多,时间实在是不够了,所以我在尝试了修改以后发现没有实现功能,就放弃了制作。
觉得很遗憾。
7、参考资料
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 记事本 实验 报告