《JAVA简单记事本程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA简单记事本程序设计实验报告.docx(7页珍藏版)》请在三一办公上搜索。
1、JAVA简单记事本程序设计实验报告实验 10 JAVA简单记事本程序设计 实验目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1掌握窗口、菜单等高级组件的应用。 2掌握Java Swing的使用方法。 3了解GUI应用程序的创建过程与方法。 实验内容 课题:学生成绩管理 1、 功能要求: 编写一个简单记事本程序,要求包含以下菜单项
2、文件 新建、打开、保存、退出 编辑 剪切、拷贝、粘贴、查找 帮助 关于 2、 实现文件和编辑菜单里的功能 记事本界面如下: 3.1 系统实施 1:界面设计 创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。 主要代码: f=new Frame(s); p1=new TextArea(); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar; menu1=new Menu(文件); menu2=new Menu(编辑); menu3=new Menu(帮助); i
3、tem1=new MenuItem(新建); item2=new MenuItem(打开); item3=new MenuItem(保存); item4=new MenuItem(另存为); item5=new MenuItem(退出); item6=new MenuItem(全选); item7=new MenuItem(复制); item8=new MenuItem(剪切); item9=new MenuItem(粘贴); item10=new MenuItem(关于); menu1.add(item1); menu1.add(item2); menu1.add(item4); menu1
4、.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menu3.add(item10); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); f.setMenuBar(menubar); 2:功能设计 对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。 主要代码 item1.addActionListener(this); item2.addActionListener(this); item3.add
5、ActionListener(this); item4.addActionListener(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item8.addActionListener(this); item9.addActionListener(this); item10.addActionListener(this); 3:代码设计 部分菜单项的相关代码: 新建文件 if (e.getSource=item1) if (i=0&(ss.l
6、ength!=0) bc; else p1.setText();i=0;f.setTitle(文件对话框); 打开文件 if (e.getSource=item2) fd=new FileDialog(f,打开文件,0); fd.setVisible(true); try file=new File(fd.getDirectory,fd.getFile); f.setTitle(fd.getFile+文件对话框); FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String line
7、= null; String view = ; while(line=br.readLine)!=null) view += line+n; p1.setText(view); br.close; fr.close; catch(IOException expIn) 复制文件 if (e.getSource=item7) try String str=p1.getSelectedText; if(str.length!=0) strt=str; catch(Exception ex) 粘贴文件 if (e.getSource=item9) if(strt.length0) p1.insert(
8、strt,p1.getCaretPosition); 退出记事本 if (e.getSource=item5) if (i=0 &(ss.length!=0) bc; else System.exit(0); 附录 import java.io.*; import java.awt.*; import java.awt.event.*; class FileInAndOut public static String fileInput(String fName) String strRead=; try FileReader fr=new FileReader(fName); Buffered
9、Reader br=new BufferedReader(fr); String aline=new String; while(aline=br.readLine)!=null) strRead=strRead+aline; br.close; fr.close; catch (FileNotFoundException e) e.printStackTrace; catch (IOException e) e.printStackTrace; return strRead; public static void fileWrite(String fName,String temp) try
10、 FileWriter fw=new FileWriter(fName); BufferedWriter bw=new BufferedWriter(fw); bw.write(temp); bw.close; fw.close; catch (IOException e) e.printStackTrace; public class MyNote implements ActionListener private Frame f; private TextArea ta; private MenuBar mb; private String strme=文件,编辑,帮助; private
11、String strmi=新建,打开,保存,退出, 剪切,拷贝,粘贴,查找, 关于; private String fileDir,fileName,temp=; private Menu me; private MenuItem mi; private Label l1,l2; private TextField t1,t2; private Button b1,b2,b3; private Dialog diaFind,diaAbout; public MyNote f=new Frame(无标题-我的记事本); ta=new TextArea; f.add(ta); mb=new Men
12、uBar; f.setMenuBar(mb); mi=new MenuItemstrme.length; me=new Menustrme.length; for(int i=0;istrme.length;i+) mei=new Menu(strmei); mb.add(mei); mii=new MenuItemstrmii.length; for(int j=0;jstrmii.length;j+) miij=new MenuItem(strmiij); mei.add(miij); miij.addActionListener(this); f.addWindowListener(ne
13、w WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); ); f.setSize(400,300); f.show; diaFind=new Dialog(f,查找,true); diaFind.setLayout(new FlowLayout); diaFind.setSize(260,120); l1=new Label(查找内容); l2=new Label(替 换 为); t1=new TextField(20); t2=new TextField(20); b1=new Button(下一个);
14、 b2=new Button(替换); b3=new Button(取消); diaFind.add(l1); diaFind.add(t1); diaFind.add(l2); diaFind.add(t2); diaFind.add(b1); diaFind.add(b2); diaFind.add(b3); diaFind.addWindowListener(new WindowAdapter public void windowClosing(WindowEvent e) diaFind.dispose; ); public void actionPerformed(ActionEve
15、nt e) String cmd=e.getActionCommand; if(cmd.equals(新建) fileDir=; fileName=; ta.setText(); f.setTitle(无标题-我的记事本); if(cmd.equals(打开) FileDialog diaOpen=new FileDialog(f,FileDialog.LOAD); diaOpen.show; fileDir=diaOpen.getDirectory; fileName=diaOpen.getFile; if(!fileName.equals() ta.setText(FileInAndOut
16、.fileInput(fileDir+fileName); f.setTitle(fileName+-我的记事本); if(cmd.equals(保存) FileDialog diaSave=new FileDialog(f,FileDialog.SAVE); diaSave.show; fileDir=diaSave.getDirectory; fileName=diaSave.getFile; if(!fileName.equals() FileInAndOut.fileWrite(fileDir+fileName,ta.getText); f.setTitle(fileName+-我的记
17、事本); if(cmd.equals(退出) System.exit(0); if(cmd.equals(剪切) int x,y; x=ta.getSelectionStart; y=ta.getSelectionEnd; temp=ta.getSelectedText; ta.replaceRange(,x,y); if(cmd.equals(拷贝) temp=ta.getSelectedText; if(cmd.equals(粘贴) ta.replaceRange(temp,ta.getSelectionStart,ta.getSelectionEnd); if(cmd.equals(查找) diaFind.show; if(cmd.equals(关于) public static void main(String args) new MyNote;