java记事本实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期末考查大作业任务书
课程名称:Java语言程序设计设计实验
题目:简单记事本的设计与实现
学院:管理学院系:信息管理系
专业班级:
学号:
学生姓名:
起讫日期:2015-09-01至2015-12-31
课任教师:郭路生
学院审核(签名):
审核日期:
精选文库一、实验内容
完成一个简单的记事本程序。

二、实验要求
1. 实现一个记事本窗口,能够处理关闭处理窗口事件。

2. 记事本可进行文本编辑
3.记事本具有菜单。

4. 具有保存和打开功能。

5. 具有字体大小、风格等功能
6. 具有复制、粘贴功能(可选项)
三、主要仪器设备及耗材
计算机、eclipse
四、主要参考资料
1. 网络教学台平教材材料列出的资料
2. 教材及实验指导
3. 老师演示的视频
4. 网络上相关资料
五、实验步骤
1、程序代码截图
精选文库
精选文库
程序源代码(文本版)
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import javax.swing.*;
public class MyJnp extends Frame implements ActionListener
{ //主界面设置
Menu wenjian = new Menu("文件");
Menu geshi = new Menu("格式");
Menu help = new Menu("帮助");
MenuBar bar = new MenuBar();
MenuItem dakai = new MenuItem("打开");
MenuItem xinjian = new MenuItem("新建");
MenuItem baocun = new MenuItem("保存");
MenuItem tuichu = new MenuItem("退出");
MenuItem zitixuanz= new MenuItem("字体选择");
MenuItem lingcunwei = new MenuItem("另存为");
MenuItem guanyu = new MenuItem("关于记事本");
TextArea bianjiqu = new TextArea();
public MyJnp(){
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(new WindowAdapter(){ public void
windowClosing(WindowEvent e){System.exit(0); }});
}
精选文库
String path;
public void addActionListener() //添加事件监听
{
dakai.addActionListener(this);
tuichu.addActionListener(this);
xinjian.addActionListener(this);
baocun.addActionListener(this);
lingcunwei.addActionListener(this);
guanyu.addActionListener(this);
zitixuanz.addActionListener(this);
}
public void actionPerformed(ActionEvent e) //事件处理
{
if(e.getSource()== tuichu)
System.exit(0);
else if(e.getSource()==dakai)
{
dakaiwenjian temp = new dakaiwenjian();
bianjiqu.setText(temp.getData());
}
else if(e.getSource()==xinjian)
{
bianjiqu.setText("");
path=null;
}
else if(e.getSource()== baocun)
{
if(path==null){
String s = bianjiqu.getText();
baocunwenjian wen = new baocunwenjian();
wen.saveData(s);
path=wen.getPath();
}
else
{
baoc bao = new baoc(path);
String s = bianjiqu.getText();
bao.saveData(s);
}
}
else if(e.getSource()==guanyu)
{
JOptionPane.showMessageDialog(null, "信管131班 6104113035 郝君","帮助", RMATION_MESSAGE);
}
else if(e.getSource()==lingcunwei)
{
String s = bianjiqu.getText();
new baocunwenjian().saveData(s);
}
else if(e.getSource()==zitixuanz)
{
new ziti(bianjiqu);
}
}
public static void main(String[] args)
{
new MyJnp().addActionListener();
}
}
class dakaiwenjian{ //打开文件得到字符串并在getData方法中返回字符串
BufferedReader temp;
String data="";
public dakaiwenjian(){
try{
FileDialog s = new FileDialog(new Frame(),"打开",FileDialog.LOAD); s.setVisible(true);
String path1 =s.getDirectory()+"\\"+s.getFile();
temp = new BufferedReader(new FileReader(path1));
String aline;
while((aline=temp.readLine())!=null)
data= data+aline+'\n';
temp.close();
}catch(Exception e ){System.out.println("打开失败");}
}
public String getData(){
return data;
}
}
class baocunwenjian{ //第一次保存和另存为调用的类
BufferedWriter bw ;
String teamp;
public baocunwenjian(){
try{
FileDialog s = new FileDialog(new Frame(),"保存",FileDialog.SAVE); s.setVisible(true);
teamp= s.getDirectory()+s.getFile();
bw= new BufferedWriter(new FileWriter(teamp));
}catch(Exception e){System.out.println("保存失败");}
}
public String getPath()
{
return teamp;
}
public void saveData(String temp1)
{
try{
bw.write(temp1);
bw.close();
}catch(Exception e){System.out.println("保存失败");}
}
}
class baoc { //多次保存类
BufferedWriter bw ;
String teamp;
public baoc(String teamp){
try{
this.teamp= teamp;
bw= new BufferedWriter(new FileWriter(teamp));
}catch(Exception e){System.out.println("保存失败");}
}
public void saveData(String temp1)
{
try{
bw.write(temp1);
bw.close();
}catch(Exception e){System.out.println("保存失败");}
}
}
精选文库
class ziti extends Dialog implements
ActionListener{ //字体设置类
int sty=0;
int size=0;
Label ys ;
Label sz;
Panel pan1 = new Panel();
Panel pan2 = new Panel();
TextField yangshi ;
TextField daxiao;
Font s;
Button queding ;
TextArea ta;
public ziti(TextArea ta){
super(new Frame(),"字体设置");
this.ta=ta;
queding= new Button("确定");
yangshi= new TextField(5);
daxiao = new TextField(5);
ys = new Label("样式:(请输入正整数)");
sz = new Label("大小:(请输入正整数)");
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(new WindowAdapter(){
public void windowClosing(WindowEvent e){
ziti.this.dispose();
}
});
}
public void actionPerformed(ActionEvent
e ){ //字体设置处理
String k;
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 = new Font("myfont",sty,size);
ta.setFont(s);
}
ziti.this.dispose();
}
}
}
2、程序运行截图
(1)运行软件
记事本能够处理关闭处理窗口事件
精选文库记事本中可以进行文本编辑,达成要求2
记事本拥有菜单,完成要求3
文件选项中有保存和打开
将文件保存为文件一
打开文件一
具有打开和保存的功能完成要求4
点击格式-字体选项
样式输入1,大小输入30,字体如下
样式输入2,大小输入50,字体如下
完成要求具有字体大小、风格等功能,完成要求5
六、思考讨论题或体会或对改进实验的建议
具有复制、粘贴功能这个要求我没有实现,最近临近期末,事情实在是有点多,时间实在是不够了,所以我在尝试了修改以后发现没有实现功能,就放弃了制作。

觉得很遗憾。

七、参考资料。

相关文档
最新文档