JAVA记事本报告及代码.doc





《JAVA记事本报告及代码.doc》由会员分享,可在线阅读,更多相关《JAVA记事本报告及代码.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华北科技学院计算机系综合性实验实 验 报 告 课程名称 Java程序设计B 实验学期 2011 至 2012 学年 第 1 学期学生所在系部 计算机学院 年级 2009 专业班级 网络 学生姓名 学号 任课教师 李芙玲 实验成绩 计算机系制Java程序设计B课程综合性实验报告开课实验室: 基础实验室 2011 年 11 月 16 日实验题目简易写字板软件设计一、实验目的通过编写Java的应用系统综合实例简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体
2、思路的把握。熟悉在集成开发环境下编写Java程序。二、设备与环境硬件:多媒体计算机软件:Windows 2000以上的操作系统、JDK开发包、集成开发环境三、实验内容总体要求:程序功能基本完成,用户界面友好,代码的可维护性和可扩展性较好,最好包括必要的注释和相应的文档。具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:1 菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能,根据情况可在编辑菜单添加查找和查
3、找替换功能。2 编辑区设计:对文本的编辑处理区。3 工具栏设计:可根据需要增加该项功能。4 其他功能设计。四、实验结果及分析1主界面的设计与实现 整个界面包括菜单条,菜单项(文件,编辑,格式,查看,帮助)和菜单条,滚动条 菜单的设计本程序共设计了五个菜单,分别是文件菜单(新建,打开,保存,另存为,退出);编辑菜单(撤销,剪切,复制,粘贴,删除,全选,时间)格式菜单(自动换行,字体)查看菜单(状态栏) 帮助(查看帮助,关于记事本) 文件菜单功能 编辑菜单功能 格式菜单的功能 帮助菜单的功能 编辑区设计编辑区添加了文本区,并在文本区内添加了滚动条,在文本区内添加了鼠标操作,即鼠标右键进行复制,粘贴
4、,剪切2各项功能的实现(1)窗体设计:设计了一个大小可变,名为记事本的窗体,并添加了窗体关闭事件,即关闭窗体时会提示是否保存menu1=new JMenu(文件);menu1.addActionListener(this);menu2=new JMenu(编辑);menu3=new JMenu(格式);menu4=new JMenu(查看);menu5=new JMenu(帮助);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu4);menubar.add(menu5); 添加窗体上的菜单 add
5、WindowListener(new WindowAdapter()public void windowClosing(WindowEvent event)if(save_status=0)int check=JOptionPane.showConfirmDialog(null,文件的文字已经改变。想保存文件吗?,警告,JOptionPane.YES_NO_CANCEL_OPTION);if(check=0)saveFile(status);if(check=1)System.exit(0);if(check=2)dispose(); );(2)文件菜单各项功能1.新建功能设计:item1是新
6、建菜单,在item1上添加监听器,当执行新建操作时,自动设置文本区为空item1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(e.getSource()=item1) text.setText(); this.setTitle(无标题 - 记事本); 2.打开功能设计:item2上添加监听器,当执行打开操作时运用文件的输入流进行打开JfileChooser jfc1=new JfileChooser(”D:/”)FileReader fr = new FileReader
7、(f1); BufferedReader br = new BufferedReader(fr);调用showOpenDialog()方法返回初始目录为本地系统的默认目录的对话框while(str = br.readLine()!=null) text.setText(str); fr.close(); br.close();调用readLine()顺序读取文件的一行运行结果如图3.保存功能,和打开功能相反,iten3添加监听器,当执行保存操作时运用文件输出流把文件保存到指定目录中JfileChooser jfc1=new JfileChooser()FileWriter fw = new F
8、ileWriter(f2); BufferedWriter bw = new BufferedWriter(fw);将BufferedReader和FileReader连接在一起,然后使用BufferedReader流将数据写入到目的地。4.编辑中的复制,粘贴,剪切功能item*.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) text.*(););添加ActionListener监听器,调用API中的copy(),cut(),prase()方法复制粘贴剪切可从鼠标右键使用,构造一
9、个弹出式菜单menu= new JpopupMenu() 为text添加鼠标监听器text.addMouseListener(new MouseAdapter() /鼠标右键实现复制,粘贴,剪切功能public void mousePressed(MouseEvent e)if(e.getModifiers()=InputEvent.BUTTON3_MASK)menu.show(text,e.getX(),e.getY(););5.显示时间,为日期添加日历tem27.addActionListener(new ActionListener()public void actionPerforme
10、d(ActionEvent e)if(e.getSource()=item27) Calendar c1 =Calendar.getInstance(); int y = c1.get(Calendar.YEAR); int m = c1.get(Calendar.MONTH); int d = c1.get(Calendar.DATE); int h = c1.get(Calendar.HOUR); int m1 = c1.get(Calendar.MINUTE); int m2 = m+1; text.setText(y+年+m2+月+d+日+h+:+m1); );6自动换行功能item3
11、1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(item31.getLabel().equals( 自动换行)item31.setLabel( 自动换行 );text.setLineWrap(true);else item31.setLabel( 自动换行 );text.setLineWrap(false););7.字体功能 定义了另外一个类,用对话框功能实现一个能选择字体,字形,大小的对话框。myziti=new JtextField() 定义文本框 显示所选择的字体,
12、字形,大小 JScrollPane scroll=new JScrollPane(zitiList); scroll.setBounds(10, 60,100 ,100); 设置图中所示的滚动条public void valueChanged(ListSelectionEvent event) myzixing.setText(myxingzhuangzixingList.getSelectedIndex(); ziti_check=myziti.getText(); style_check=myzixing.getText(); daxiao_check=mydaxiao.getText()
13、; int zitidaxiao=Integer.parseInt(daxiao_check); int zitistyle=Font.PLAIN; if(style_check.equals(常规) zitistyle=Font.PLAIN; if(style_check.equals(斜体) zitistyle=Font.ITALIC; if(style_check.equals(粗体) zitistyle=Font.BOLD; if(style_check.equals(粗斜体) zitistyle=Font.BOLD+Font.ITALIC; shili.setFont(new Fon
14、t(ziti_check,zitistyle,zitidaxiao); );添加监听器,调用equal()方法,选择所需的字形按钮添加监听器cancel.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) dispose(); ); ok.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) 四、心得体会 实验完成了基本功能,能进行基本的操作。做完实验的第一感受是乱,在实验中
15、按照系统提示添加了很多东西,如添加菜单条,菜单项,菜单,文本区等觉得都比较熟练,在查阅了网上和书上别人代码后,也根据自己的理解实现了打开,新建和保存功能,但是对于字体的设计我确实没有自己完成,在运用别人的代码后因为定义,结构等不匹配也很苦恼,自己修改了好久,找了很多同学帮忙才运行成功。 这次实验让我对所学的知识运用更加熟练,也让我对JAVA有了更深的喜爱,虽然我能掌握的知识很少,但是在以后的时间我会更加认真的学习JAVA,我觉得在所学的专业课中,终于找到一个自己感兴趣的,虽然学的没有别人好,我相信我会学好的。教 师 评 价评定项目ABCD评定项目ABCD算法正确界面美观,布局合理程序结构合理操
16、作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确其他:评价教师签名:2011年 11 月 26 日package me;import java.awt.*;import javax.swing.*;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;import java.awt.event.*;import java.io.*;import java.util.Calendar;public class FirstWindow public sta
17、tic void main(String args)new FWindow(记事本);class FWindow extends JFrame implements ActionListener,WindowListener,ItemListener public static Frame frame;JMenuBar menubar;JPopupMenu menu;JMenu menu1,menu2,menu3,menu4,menu5;JMenuItem item1,item2,item3,item4,item5,item21,item22,item23,item24,item25,item
18、26,item27,item31,item32,item41,item51,item52;JMenuItem itemCopy,itemCut,itemPaste;JTextArea text;JScrollPane scrollPane;JComboBox listFont,listFSize;int save_status = 0,status=0,huanhang_count=0; FWindow(String s)addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent event)if(sav
19、e_status=0)int check=JOptionPane.showConfirmDialog(null,文件的文字已经改变。想保存文件吗?,警告,JOptionPane.YES_NO_CANCEL_OPTION);if(check=0)saveFile(status);if(check=1)System.exit(0);if(check=2)dispose(); );setTitle(记事本);setSize(700,400);setLocation(120,120);menubar=new JMenuBar();setJMenuBar(menubar);text=new JTextA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 记事本 报告 代码

限制150内