《0902413李雪瑞计算机工程系实验报告材料10》由会员分享,可在线阅读,更多相关《0902413李雪瑞计算机工程系实验报告材料10(23页珍藏版)》请在金锄头文库上搜索。
1、word计算机工程系实验报告课程名称:Java程序设计成 绩:实验项目名称:基于JAVA的图形用户界面设计技术根底指导教师:签名班级:计科14-4班某某: 李雪瑞学号: 20140902413一、实 验 目 的:(1)掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。(2)掌握多种布局方式;(3)掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法;(4)设计出具有图形用户界面的、能够响应事件的Java应用程序;(5)掌握在MyEclipse集成开发环境中,通过设置编译路径引用其他项目中声明的类。二、
2、实 验 要 求:1. 编写一个应用程序,要求有一个含有菜单的窗口,窗口中有文本区组件。菜单有“打开文件的菜单项,当单击该菜单项时,使用一个输入流将一个名为“文件的内容读入到文本中。2. 编写有两个文本区的应用程序。当我们在一个文本区中输入假如干个数时,另一个文本区同时对输入的数进展求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和与平均值。3. 编写一个应用程序,有8个按钮,用户通过按动键盘上的方向键移动这些按钮。4. 编写一个应用程序,用户可以在一个文本框里输入数字字符,按回车后将数字存入一个文件。当输入的数字大于1000时,弹出一个有模式的对话框,提示用户数子已经大于
3、1000.5. 实现计算器的加、减、乘、除等根本运算。三、完 成 程 序:1. import java.awt.*;import java.io.*;import javax.swing.*;import java.awt.event.*;publicclass Zuoye1publicstaticvoid main(String args)new winopen(); classwinopenextends JFrame implements ActionListener JMenu menu;JMenuBar mb;JMenuItem mi;JTextArea text;winopen()
4、mi=new JMenuItem(打开文件);mi.addActionListener(this);menu=new JMenu(菜单);menu.add(mi);mb=new JMenuBar();mb.add(menu);setJMenuBar(mb); text=new JTextArea(); add(new JScrollPane(text),BorderLayout.CENTER); setTitle(打开文件);setBounds(400,150,400,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_C
5、LOSE); validate();publicvoid actionPerformed(ActionEvent e)openfile op=new openfile();text.setText(op.open();class openfile public String open()File file=new File(E:/hello.txt);int n=0;char b=newchar100;StringBuffer sb=new StringBuffer(new String();tryFileReader reader=new FileReader(file);while(n=r
6、eader.read(b,0,10)!=-1)sb.append(new String(b,0,n);reader.close();catch(IOException e) System.out.println(e);return sb.toString(); 实 验 结 果 抓 图 与 分 析:窗口 菜单项打开“文件此程序使用JMenuBar创建窗口和菜单,再使用JTextArea创建文本框。然后使用输入流从文件“中读取文本信息。输入流提供一条通道程序,可以使用这条通道读取“源即“文件中的数据。使得程序得以执行。2. import javax.swing.*; import java.uti
7、l.StringTokenizer;import java.awt.*;import java.awt.event.*; import javax.swing.event.*;publicclass Zuoye2 publicstaticvoid main(String args) puterFrame fr=new puterFrame(); fr.setTitle(计算的窗口); classputerFrameextends JFrame implements DocumentListener JTextArea text1,text2;int count=1;double sum=0,a
8、ver=0;public puterFrame() setLayout(new FlowLayout(); text1=new JTextArea(6,20); text2=new JTextArea(6,20); add(new JScrollPane(text1); add(new JScrollPane(text2); text2.setEditable(false); (text1.getDocument().addDocumentListener(this); setSize(300,320); setVisible(true); addWindowListener(new Wind
9、owAdapter() publicvoid windowClosing(WindowEvent e) System.exit(0); ); validate(); publicvoid changedUpdate(DocumentEvent e) /接口方法 hangdleText(); /调用后面的hangdleText()方法 publicvoid removeUpdate(DocumentEvent e) /接口方法 changedUpdate(e); publicvoid insertUpdate(DocumentEvent e) /接口方法 changedUpdate(e); pu
10、blicvoid hangdleText() String s=text1.getText(); sum=0; aver=0; StringTokenizer fenxi=new StringTokenizer(s, ,n);int n=fenxi.countTokens(); count=n;double a=newdoublen; for(int i=0;i=n-1;i+) String temp=fenxi.nextToken(); try ai=Double.parseDouble(temp); sum=sum+ai; catch(Exception ee) count-; aver=
11、sum/count; text2.setText(null); text2.append(n和:+sum); text2.append(n平均值:+aver); 实 验 结 果 抓 图 与 分 析:窗口设置 计算求和和均值程序使用JTextArea创建了两个文本区,当一个文本区输入数字时,另一个文本区就使用String从前边的文本区中读取数据。然后进展计算,使用appendString s方法在结尾加上文本,在另一个文本区中输出结果。3.import java.awt.*;import java.awt.event.*;import javax.swing.*;publicclass Zuoy
12、e3publicstaticvoid main(String args) Win win=new Win(); classWinextends JFrame implements KeyListener utton b=new utton8;int x,y; Win() setLayout(new FlowLayout();for(int i=0;i8;i+) bi=new utton(+i); bi.addKeyListener(this); add(bi); addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.exit(0); ); setBounds(10,10,300,300); setVisible(true); validate(); publicvoid keyPressed(KeyEvent e)int moveDistance=1; ponent =(ponent)e.getSource();int x=(int).getBounds().x;int y=(int)