华北科技学院—JAVA程序设计B实验报告格式.doc

上传人:仙人指路1688 文档编号:2387321 上传时间:2023-02-17 格式:DOC 页数:10 大小:126.50KB
返回 下载 相关 举报
华北科技学院—JAVA程序设计B实验报告格式.doc_第1页
第1页 / 共10页
华北科技学院—JAVA程序设计B实验报告格式.doc_第2页
第2页 / 共10页
华北科技学院—JAVA程序设计B实验报告格式.doc_第3页
第3页 / 共10页
华北科技学院—JAVA程序设计B实验报告格式.doc_第4页
第4页 / 共10页
华北科技学院—JAVA程序设计B实验报告格式.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《华北科技学院—JAVA程序设计B实验报告格式.doc》由会员分享,可在线阅读,更多相关《华北科技学院—JAVA程序设计B实验报告格式.doc(10页珍藏版)》请在三一办公上搜索。

1、华北科技学院计算机系综合性实验实 验 报 告 课程名称 Java程序设计B 实验学期 2011 至 2012 学年 第 1 学期学生所在系部 计算机学院 年级 2011 专业班级 学生姓名 学号 201107012102 任课教师 实验成绩 计算机系制实验报告须知1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、 教师应该填写的内容包括:实验成绩、教师评价等。4、 教师根据本课程的综合性实验指导单中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告

2、交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。Java程序设计B课程综合性实验报告开课实验室: 基础实验室 2011 年 11 月 16 日实验题目简易写字板软件设计一、实验目的通过编写Java的应用系统综合实例简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。1. 熟悉在集成开发环境下编写J

3、ava程序。2. 掌握Java语言的程序设计方法。3. 掌握基于Swing图形用户界面设计的思想。4. 理论联系实际,提高软件开发技术。5. 培养学生分析,解决问题的能力。二、设备与环境 硬件:多媒体计算机软件:Windows 2000以上的操作系统、JDK开发包、集成开发环境三、实验内容总体要求:程序功能基本完成,用户界面友好,代码的可维护性和可扩展性较好,最好包括必要的注释和相应的文档。具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:1 菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能

4、;编辑菜单有剪切、复制、粘贴、等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能,根据情况可在编辑菜单添加查找和查找替换功能。2 编辑区设计:对文本的编辑处理区。3 工具栏设计:可根据需要增加该项功能。4 其他功能设计。四、实验结果及分析1主界面的设计与实现整个界面共包括3部分分为:菜单栏、工具栏和及文本编辑区如图1所示:菜单的设计本程序共设计3个菜单,分别是文件菜单、编辑菜单和窗口菜单1、文件菜单实现了打开、保存、另存为、关闭功能。2、编辑菜单实现了粘贴、复制、剪切功能。3、窗口菜单实现了平铺、折叠功能。各个菜单的功能如图2所示:工具栏的设计快捷按钮实现了文件的打开、保存、另存为如

5、图3所示: 编辑区设计编辑区采用初始化为(500,500)大小的显示区域实现了在文本区域鼠标右击弹出快捷菜单的功能如图4所示:2文件菜单中各项功能的实现软件初始设计public class note extends JFrame implements ActionListener,MouseListenerprivate static final long serialVersionUID=1L;File file=new File(./);JTextArea jta=new JTextArea();String filename;JFileChooser jFileChooser=new J

6、FileChooser();JColorChooser jcolor=new JColorChooser();JMenuBar mbar;JMenu Mf,fm1,fm2;JMenuItem Mfda,Mfbc,Mflcw,Mfgb;JMenuItem zt,fz,jq,pp,zd;JToolBar toolbar;JButton t1,t2,t3;ImageIcon img1,img2,img3;JPopupMenu pop;JMenuItem copy,paste,cut;public note()jFileChooser.setCurrentDirectory(new File(.);g

7、etContentPane().add(new JScrollPane(jta),BorderLayout.CENTER);setTitle(文本文件阅读器);mbar=new JMenuBar();setJMenuBar(mbar);Mf=new JMenu(文件(F);fm1=new JMenu(编辑(E);fm2=new JMenu(窗口(W);zt=new JMenuItem(粘贴(o);fz=new JMenuItem(复制);jq=new JMenuItem(剪切);fm1.add(zt);fm1.add(fz);fm1.add(jq);zt.addActionListener(t

8、his);fz.addActionListener(this);jq.addActionListener(this);pp=new JMenuItem(平铺);zd=new JMenuItem(折叠);fm2.add(pp);fm2.add(zd);pp.addActionListener(this);zd.addActionListener(this);Mfda=new JMenuItem(打开(o);Mfbc=new JMenuItem(保存);Mflcw=new JMenuItem(另存为);Mfgb=new JMenuItem(关闭);Mf.add(Mfda);Mf.add(Mfbc)

9、;Mf.add(Mflcw);Mf.add(Mfgb);Mfda.addActionListener(this);Mfbc.addActionListener(this);Mflcw.addActionListener(this);Mfgb.addActionListener(this);Mf.setMnemonic(F);Mfda.setMnemonic(o);mbar.add(Mf);mbar.add(fm1);mbar.add(fm2);toolbar=new JToolBar(浮动工具栏);t1=new JButton();t2=new JButton();t3=new JButton

10、();img1=new ImageIcon(d:p1.jpg);img2=new ImageIcon(./p2.jpg);img3=new ImageIcon(./p3.jpg);t1.setIcon(img1);t2.setIcon(img2);t3.setIcon(img3);t1.setToolTipText(打开);t2.setToolTipText(保存);t3.setToolTipText(另存为);toolbar.add(t1);toolbar.add(t2);toolbar.add(t3);add(toolbar,BorderLayout.NORTH);t1.addAction

11、Listener(this); /加入工具栏操作事件的初始t2.addActionListener(this);t3.addActionListener(this);pop=new JPopupMenu();copy=new JMenuItem(复制);cut=new JMenuItem(剪切);paste=new JMenuItem(粘贴);pop.add(copy);pop.add(cut);pop.add(paste);jta.addMouseListener(this);cut.addActionListener(this); /加入菜单编辑操作事件的初始copy.addActionL

12、istener(this);paste.addActionListener(this);setSize(500,500);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);菜单及鼠标实现public void actionPerformed(ActionEvent e) /在源代码的基础上加入了其他if(e.getSource()=Mfda|e.getSource()=t1)/ 操作的代码open();if(e.getSource()=Mfbc|e.getSource()=t2)save();if(e.getSour

13、ce()=Mflcw|e.getSource()=t3)saveto();else if(e.getSource()=copy|e.getSource()=fz)jta.copy();else if(e.getSource()=cut|e.getSource()=jq)jta.cut();else if(e.getSource()=paste|e.getSource()=zt)jta.paste();else if(e.getSource()=Mfgb)System.exit(0); 打开的实现private void open()if(jFileChooser.showOpenDialog(

14、this)=JFileChooser.APPROVE_OPTION)file=jFileChooser.getSelectedFile();filename=file.getName();tryFileInputStream fin=new FileInputStream(file);BufferedInputStream in=new BufferedInputStream(fin);byte b=new bytein.available();in.read(b,0,b.length);jta.setText(new String(b,0,b.length);in.close();catch

15、(IOException ex)jta.setText(打开文件错误+file.getName(); 另存为的实现private void saveto()if(jFileChooser.showSaveDialog(this)=JFileChooser.APPROVE_OPTION)file=jFileChooser.getSelectedFile();tryFileOutputStream fos=new FileOutputStream(file);BufferedOutputStream out=new BufferedOutputStream(fos);String str=jta.

16、getText();byte b=str.getBytes();out.write(b);out.close();catch (IOException ex) jta.setText(打开文件错误+file.getName(); 保存的实现private void save()if(!file.getName().equals(.) /加入首次打开文件名判断代码tryFileOutputStream fos=new FileOutputStream(file);BufferedOutputStream out=new BufferedOutputStream(fos);String str=j

17、ta.getText();byte b=str.getBytes();out.write(b);out.close();catch (IOException ex) jta.setText(打开文件错误+file.getName();else /如果是首次直接打开软件,在空白情况下点“保存”则另存该文件saveto();程序入口实现public static void main(String args)new note();public void mouseClicked(MouseEvent e) isCanCopy的实现public boolean isCanCopy()boolean b

18、=false;int start=jta.getSelectionStart();int end=jta.getSelectionEnd();if(start!=end )b=true;return b; isClipboard的实现public boolean isClipboardString()boolean b=false;Clipboard clipboard=jta.getToolkit().getSystemClipboard();Transferable content=clipboard.getContents(this);tryif(content.getTransferD

19、ata(DataFlavor.stringFlavor) instanceof String)b=true;catch (Exception e) return b; 鼠标点击的实现public void mousePressed(MouseEvent e)if(e.getButton()=MouseEvent.BUTTON3)copy.setEnabled(isCanCopy();paste.setEnabled(isClipboardString();cut.setEnabled(isCanCopy();pop.show(e.getComponent(),e.getX(),e.getY()

20、;/右击鼠标快捷菜单问 /题代码修改public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)2遇到的问题和解决办法问题:编辑菜单和工具栏功能无效解决办法:note函数中加入编辑菜单及工具栏各项的事件的初始,并在 actionPerformed函数中添加了判断操作的代码问题:首次直接打开软件点保存错误解决办法:note类中文件变量初始语句File file;语句改为File file=new File(./);这样软件首次打开后文件名会初始默认为.,再在save函数中加入了判断文件名是否为.的代码,如果为.则另存文件问题:当打开文件内容显示超过界面时,右击鼠标快捷菜单显示位置不对应解决办法:将函数mousePressed中得pop.show(this,e.getX(),e.getY();改为pop.show(e.getComponent(),e.getX(),e.getY();不以this为参照位置,以鼠标为参照位置教 师 评 价评定项目ABCD评定项目ABCD算法正确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确其他:评价教师签名:2011年 11 月 26 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号