您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Java程序设计实验2(编辑器)报告
中南民族大学计算机科学学院Java程序设计实验二报告2014—2015第二学期课程名称:Java程序设计院系:计算机科学学院年级:2013专业:计算机科学与技术班级:1大班小组成员(学号姓名):201321091035高波201321091071王吉201321151065锁松源指导教师:强小利2015年6月1实验二Java文本编辑器编程1.实验类型:综合型2.实验目的(1)进一步熟悉Java集成开发环境NetBeans(Eclipse、MyEclipse)的使用;(2)进一步熟练掌握JavaApplication的编写及调试;(3)进一步掌握Java图形用户界面的设计及其编程;(4)进一步熟练掌握Java的事件委托处理模型;(5)进一步熟练掌握java.awt包、javax.swing包常用类的使用;(6)进一步熟练掌握Java的封装、继承和多态程序设计;(7)掌握Java流类的使用和文件读写程序设计;(8)掌握Java异常处理程序设计。3.实验任务利用Java编程技术实现一个简单的文本编辑器,具体要求如下:(1)编写一个JavaApplication,使得程序能提供文本编辑器的常用功能;(2)使用javax.swing.JFrame创建一个窗框。(3)为文本编辑器添加菜单栏JmenuBar;(4)在菜单栏中添加基本的菜单Jmenu,菜单栏上必须有文件、编辑、查找、帮助等菜单;(5)为每个菜单添加必要的菜单项JMenuItem和复选菜单项JcheckboxMenuItem;(6)为每个菜单项注册监听器;(7)为常用的文件功能和编辑功能建立工具栏;以下为选做功能:(8)建立基本的格式工具栏;(9)多文档编辑功能。4.组内分工(说明每个成员分工的编程工作)(1)界面设计以及各种菜单的设计:锁松源(2)文件打开与保存:高波(3)查找与替换功能:王吉5.Java源代码importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importjavax.swing.filechooser.FileNameExtensionFilter;publicclassTextextendsJFrameimplementsActionListener{2privateJTextAreaA;privateJMenuBarMenuBar;//菜单条privateJMenuFile,Eidt,Fo,color,mHelp;//菜单//子菜单privateJMenuItemOpen,Save,New,Close;privateJMenuItemCut,Copy,Paste,Selct;privateJMenuItemSearch;privateJMenuItemBOLD,PLAIN,ITALIC;privateJMenuItemred,blue,green,yellow;privateJMenuItemHelp;privateJFileChooserchooser;privateFontfont;publicstaticvoidmain(String[]args){newText();}publicText(){super(文本编辑器);A=newJTextArea(5,30);A.setLineWrap(true);this.add(A,BorderLayout.CENTER);ContainermContainer=getContentPane();JScrollPanescrollPane=newJScrollPane(A);//滚动条mContainer.add(scrollPane);MenuBar=newJMenuBar();New=newJMenuItem(新建);File=newJMenu(文件);Open=newJMenuItem(打开);Save=newJMenuItem(保存);Close=newJMenuItem(关闭);File.add(New);File.add(Open);File.add(Save);File.addSeparator();File.add(Close);MenuBar.add(File);New.addActionListener(this);Open.addActionListener(this);Save.addActionListener(this);Close.addActionListener(this);Eidt=newJMenu(编辑);Cut=newJMenuItem(剪切(Ctrl+X));Copy=newJMenuItem(复制(Ctrl+C));Paste=newJMenuItem(粘贴(Ctrl+V));3Selct=newJMenuItem(全选(Ctrl+A));Search=newJMenuItem(查找与替换);Copy.addActionListener(this);Paste.addActionListener(this);Cut.addActionListener(this);Selct.addActionListener(this);Search.addActionListener(this);Eidt.add(Copy);Eidt.add(Paste);Eidt.add(Cut);Eidt.add(Selct);Eidt.add(Search);MenuBar.add(Eidt);Fo=newJMenu(字体);PLAIN=newJMenuItem(常规);BOLD=newJMenuItem(粗体);ITALIC=newJMenuItem(斜体);BOLD.addActionListener(this);PLAIN.addActionListener(this);ITALIC.addActionListener(this);Fo.add(PLAIN);Fo.add(BOLD);Fo.add(ITALIC);MenuBar.add(Fo);color=newJMenu(颜色);red=newJMenuItem(红色);blue=newJMenuItem(蓝色);green=newJMenuItem(绿色);yellow=newJMenuItem(黄色);red.addActionListener(this);blue.addActionListener(this);green.addActionListener(this);yellow.addActionListener(this);color.add(red);color.add(blue);color.add(green);color.add(yellow);MenuBar.add(color);mHelp=newJMenu(帮助);Help=newJMenuItem(关于);mHelp.add(Help);4mHelp.addActionListener(this);MenuBar.add(mHelp);this.setJMenuBar(MenuBar);this.setSize(600,400);this.setVisible(true);this.setLocation(100,50);}@OverridepublicvoidactionPerformed(ActionEvente){JMenuItemi=(JMenuItem)e.getSource();if(i.equals(Open))openFile();elseif(i.equals(Save))saveFile();elseif(i.equals(New))newFile();elseif(i.equals(Close)){Close();}elseif(i.equals(Cut)){A.cut();}elseif(i.equals(Copy)){A.copy();}elseif(i.equals(Paste)){A.paste();}elseif(i.equals(Selct)){A.selectAll();}elseif(i.equals(Search)){newSearch();}elseif(i.equals(PLAIN)){font=newFont(宋体,Font.PLAIN,16);5A.setFont(font);}elseif(i.equals(BOLD)){font=newFont(宋体,Font.BOLD,16);A.setFont(font);}elseif(i.equals(ITALIC)){font=newFont(宋体,Font.ITALIC,16);A.setFont(font);}elseif(i.equals(red)){A.setForeground(Color.red);}elseif(i.equals(blue)){A.setForeground(Color.blue);}elseif(i.equals(green)){A.setForeground(Color.GREEN);}elseif(i.equals(yellow)){A.setForeground(Color.yellow);}elseif(i.equals(Help)){Help();}}//新建publicvoidnewFile(){A.setText();this.setTitle(新建文件);}6publicvoidopenFile(){chooser=newJFileChooser();//新建文件选择器对话框对象FileNameExtensionFilterfilter=newFileNameExtensionFilter(TXT,txt);//建立过滤器chooser.setFileFilter(filter);//开始过滤chooser.setCurrentDirectory(newFile(C:\\));//设置默认的打开目录chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置打开文件类型intm=chooser.showOpenDialog(Open);//弹出一个OpenFile文件选择器对话框if(m==JFileChooser.APPROVE_OPTION){Filefile=chooser.getSelectedFile();try{FileReaderreader=newFileReader(file);intlen=(int)file.length();char[]array=newchar[len];reader.read(array,0,len);reader.close();A.setText(newString(array));}catch(Exceptione_open)//错误提示{JOptionPane.showMessageDialog(Save,文件未找到!);}}}publicvoidsaveFile(){chooser=newJFileChooser();FileNameExtensionFilterfilter=newFileNameExtensionFilter(TXT,txt);//建立过滤器,只显示.txt文件chooser.setFileFilter(filter);//开始过滤chooser.setCurrentDirectory(newFile(C:\\));//设置默认的打开目录chooser.setSelectedFile(newFile(新建文件夹.txt));intm=chooser.showSaveDialog(Save);if(m==JFileChooser.APPROVE_OPTION){Filefile=chooser.getSelectedFile();if(file.exists()){i
本文标题:Java程序设计实验2(编辑器)报告
链接地址:https://www.777doc.com/doc-2881279 .html