《JAVA课程设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告.docx(16页珍藏版)》请在三一办公上搜索。
1、Java语言程序设计B报告题目编写一个记事本程序一. 要求:用图形用户界面实现。能实现编辑、保存、另存为、查找 替换等功能。提示:使用文件输入输出流。二. 课程设计思路。设计两个类,一个记事本的类(JSB),具有程序的要求和功能 再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象, 就可以直接在编译器中运行程序。在主界面中设计一个 Frame容器,并在其中加入一个下拉 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。三. 课程设计实现功能结构图。3.1 “文件”菜单。图3.2 “文件”菜单操作流程图3.2 “编辑”菜单。图3.3 “编辑”菜单操作流程图四
2、. 记事本实现功能代码实现。4.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(编辑);item1=new MenuItem(新建);item2二new MenuItem(打开);item3=new MenuItem(保存);item4=new MenuItem(另存为);item5二new MenuItem(
3、退出);item6=new MenuItem(全选);item7=new MenuItem(复制);item8=new MenuItem(剪切);item9=new MenuItem(粘贴);menu1.add(item1);menu1.add(item2);menu1.add(item4);menu1.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);menu2.add(item9);menubar.add(menul);menubar.add(menu2);f.setMenuBar(menubar);程序代码实现截图
4、:文件编辑帮助全选复制驱切粘贴文件编辑帮助砾建打开保存另存为退出L evenL 字:l LRi L EentObjet t:is CalculatorGU( fr:let pl.p2:Aon bOi bit b?f b3t b4b5. b6, b7, bBi b9: ton bPo int4 Mddt bDee, bUul. bCal: |tPiwLd t:private Siring w up:prEvate Calculalor cal 了 n四 Calculator(I: pr i vale booLEin t FOp:4.2功能代码详细设计。4.2.1新建文件。if (e.getSou
5、rce()二二iteml)(if (i=0&(ss.length()!=0)(bc();elsep1.setText();i=0;f.setTitle(文件对话框);4.2. 2打开文件。if (e.getSource()二二item2)(fd=new FileDialog(f,打开文件,0);fd.setVisible(true);tryfile=new File(fd.getDirectory(),fd.getFile();f.setTitle(fd.getFile()+文件对话框);FileReader fr=new FileReader(file);BufferedReader br=
6、new BufferedReader(fr);String line = null;String view =;while(line=br.readLine()!=null)(view += line+n;p1.setText(view);br.close();fr.close();catch(IOException expIn)4.2.3复制文件。if (e.getSource()二二item7)(tryString str=p1.getSelectedText();if(str.length()!=0)(strt=str;catch(Exception ex) 4.2.4粘贴文件。if (
7、e.getSource()二二item9)(if(strt.length()0)(p1.insert(strt,p1.getCaretPosition();4.2.5退出记事本。if (e.getSource()二二item5)(if (i=0 &(ss.length()!=0)(bc();else(System.exit(0);五. JAVA课程设计个人总结。这个学期我们学习了 JAVA语言,这对于我们来说是一门十分陌 生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的 困难,与C、C+语言相比需要克服的困难也相对多一些。在学习了 JAVA课程后,我们通过这次的JAVA课程设计复习
8、和掌握我们学习的 JAVA语言知识,并且在课程设计的过程中巩固和运用相关的知识, 提高自己的JAVA编程能力。通过这次的JAVA课程设计,我更好地了解了 JAVA的编程方法, 并且在遇到困难的时候,能主动请教身边的同学,不仅仅培养了我的 编程能力,在与同学的交流中我也更好的培养了与其他人的交流能 力,相信通过这次的JAVA课程设计,我更好地学习了 JAVA,相信我 自己在以后的学习中能继续学习JAVA,在更好地丰富自己AVA知识 的同时,积极提高自己的JAVA编程能力,在以后能更好地掌握JAVA 语言。JAVA语言课程设计程序源代码:import java.io.*;import java.a
9、wt.*;import java.awt.event.*;class FileInAndOutpublic static String fileInput(String fName)String strRead=; try FileReader fr二new FileReader(fName);BufferedReader br=new BufferedReader(fr);String aline=new String();while(aline二br.readLine()!=null)strRead二strRead+aline;br.close();fr.close(); catch (F
10、ileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); return strRead;public static void fileWrite(String fName,String temp) try FileWriter fw二new FileWriter(fName);BufferedWriter bw=new BufferedWriter(fw);bw.write(temp);bw.close();fw.close(); catch (IOException e) e
11、.printStackTrace();public class MyNote implements ActionListenerprivate Frame f;private TextArea ta;private MenuBar mb;private String strme=文件,编辑,帮助);private String strmi口口二新建,打开,保存,退出,剪切, 拷贝,粘贴,查找,private String fileDir,fileName,temp=;private Menu me;private MenuItem mi;private Label l1,l2;private
12、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 MenuBar();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 MenuItemst
13、rmii.length;for(int j=0;jstrmii.length;j+)miij=new MenuItem(strmiij);mei.add(miij);miij.addActionListener(this);f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););f.setSize(400,300);f.show();diaFind二new Dialog(f,查找,true);diaFind.setLayout(new FlowLayout()
14、;diaFind.setSize(260,120);l1二new Label(查找内容);l2二new Label(替 换 为);t1二new TextField(20);t2二new TextField(20);b1=new Button(下一个);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(
15、new WindowAdapter()public void windowClosing(WindowEvent e) diaFind.dispose(););public void actionPerformed(ActionEvent 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
16、.show();fileDir二diaOpen.getDirectory();fileName二diaOpen.getFile();if(!fileName.equals()ta.setText(FileInAndOut.fileInput(fileDir+fileName);f.setTitle(fileName+我的记事本);if(cmd.equals(保存)FileDialog diaSave二new FileDialog(f,FileDialog.SAVE);diaSave.show();fileDir二diaSave.getDirectory();fileName二diaSave.g
17、etFile();if(!fileName.equals()FileInAndOut.fileWrite(fileDir+fileName,ta.getText();f.setTitle(fileName+我的记事本);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();