您好,欢迎访问三七文档
《Java程序设计》课程实验1目录目录.........................................1一、引言.........................................21.1课程设计目的..............................21.2实验内容.................................21.3开发工具介绍..............................2二、总体设计.....................错误!未定义书签。2.1系统开发平台...............错误!未定义书签。2.2系统流程图.................................42.3功能结构图.................错误!未定义书签。三、详细说明.....................................43.1系统实施...................错误!未定义书签。四、系统的调试和运行.............................9五、课程设计总结.................................9六、参考文献.....................................9附录(源程序代码)..............................10《Java程序设计》课程实验2一、引言1.1实验目的1.掌握图形用户界面程序的界面设计。2.掌握布局管理器的使用。3.掌握事件处理的原理。1.2实验内容1.设计一个图形界面(GUI)的记事本应用程序。(1)提供菜单选择功能,菜单项设计如下图所示。(2)利用文件选择对话框选择要编辑的文件,编辑完成后进行保存。(3)提高(选做):在基本功能基础上增加文字格式的设置功能。(4)提高(选做):为菜单项设计工具栏。1.3开发工具介绍《Java程序设计》课程实验3Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的VisualStudio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来较困难。二、总体设计2.1系统开发平台Java(ORACLE)版本1.8.0_66-b18《Java程序设计》课程实验42.2系统流程图启动程序输入文字打开文件保存文件退出字体颜色关于file=openfilesavingSystem.exit(0)colorabout.show()关闭或退出程序《Java程序设计》课程实验52.3功能结构图三、详细说明3.1系统实施设计两个类,一个mynotepad类,再创建一个Notebad类,然后进行代码输入,就可以直接在编译器中运行程序。1:界面设计在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件。2:功能设计在下拉菜单中加入子菜单,分别实现对文件的操作功能。点击不同菜单项时,显示不同界面。3:代码设计编写每个控件的相关代码,并进行调试。开始“文件”菜单打开文件保存文件退出用JFileChooser()选择所打开文件路径用unfold()读取所选的文件内容到记事本用sava()保存文件用close()关闭文件《Java程序设计》课程实验6四、系统的调试和运行五、设计总结六、参考文献附录(源程序代码)importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;classmynotepadextendsJFrame{Filefile=null;Colorcolor=Color.red;mynotepad(){initTextContent();initMenu();initAboutDialog();}voidinitTextContent(){getContentPane().add(newJScrollPane(content));《Java程序设计》课程实验7}JTextPanecontent=newJTextPane();JFileChooseropenfile=newJFileChooser();JColorChooseropencolor=newJColorChooser();JDialogabout=newJDialog(this);JMenuBarmenu=newJMenuBar();JMenu[]menus=newJMenu[]{newJMenu(文件),newJMenu(编辑),newJMenu(关于)};JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem(新建),newJMenuItem(打开),newJMenuItem(保存),newJMenuItem(退出)},{newJMenuItem(复制),newJMenuItem(剪切),newJMenuItem(粘贴),newJMenuItem(颜色)},{newJMenuItem(关于)}};《Java程序设计》课程实验8voidinitMenu(){for(inti=0;imenus.length;i++){menu.add(menus[i]);for(intj=0;joptionofmenu[i].length;j++){menus[i].add(optionofmenu[i][j]);optionofmenu[i][j].addActionListener(action);}}this.setJMenuBar(menu);}ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){Stringname=e.getActionCommand();JMenuItemMI=(JMenuItem)e.getSource();if(新建.equals(name)){content.setText();file=null;}elseif(打开.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();}}elseif(保存.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){《Java程序设计》课程实验9file=openfile.getSelectedFile();saving();}}elseif(退出.equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}elseif(剪切.equals(name)){content.cut();}elseif(复制.equals(name)){content.copy();}elseif(粘贴.equals(name)){content.paste();}elseif(颜色.equals(name)){color=JColorChooser.showDialog(mynotepad.this,,color);content.setForeground(color);}elseif(关于.equals(name)){about.setSize(300,150);about.show();}}};voidsaving(){《Java程序设计》课程实验10try{FileWriterWritef=newFileWriter(file);Writef.write(content.getText());Writef.close();}catch(Exceptione){e.printStackTrace();}}voidunfold(){try{FileReaderReadf=newFileReader(file);intlen=(int)file.length();char[]buffer=newchar[len];Readf.read(buffer,0,len);Readf.close();content.setText(newString(buffer));}catch(Exceptione){e.printStackTrace();}}voidinitAboutDialog(){about.setLayout(newGridLayout(3,1));about.getContentPane().setBackground(Color.white);about.getContentPane().add(newJLabel(我的记事本程序));about.getContentPane().add(newJLabel(制作者:liuhui));about.getContentPane().add(newJLabel(2010年6月));about.setModal(true);about.setSize(100,100);about.setLocation(250,170);}《Java程序设计》课程实验11;}publicclassNotepad{publicstaticvoidmain(Stringargs[]){mynotepadnoted=newmynotepad();noted.addWindowListener(newWindowAdapter(){});noted.setTitle(我的记事本程序);noted.setSize(640,320);noted.show();noted.setLocation(150,100);}}
本文标题:Java程序设计
链接地址:https://www.777doc.com/doc-2881257 .html