20140902413 李雪瑞 计算机工程系实验报告10
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机工程系实验报告
课程名称:Java程序设计
实验项目名称:基于JAVA的图形用户界面设计技术基础
班级:计科14-4班姓名: 李雪瑞学号: 20140902413
一、实验目的:
(1)掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。
(2)掌握多种布局方式;
(3)掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法;
(4)设计出具有图形用户界面的、能够响应事件的Java应用程序;
(5)掌握在MyEclipse集成开发环境中,通过设置编译路径引用其他项目中声明的类。
二、实验要求:
1.编写一个应用程序,要求有一个含有菜单的窗口,窗口中有文本区组件。菜单有“打开文件”的菜单项,当单击该菜单项时,使用一个输入流将一个名为“hello.txt”文件的内容读入到文本中。
2. 编写有两个文本区的应用程序。当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和及平均值。
3. 编写一个应用程序,有8个按钮,用户通过按动键盘上的方向键移动这些按钮。
4. 编写一个应用程序,用户可以在一个文本框里输入数字字符,按回车后将数字存入一个文件。当输入的数字大于1000时,弹出一个有模式的对话框,提示用户数子已经大于1000.
5. 实现计算器的加、减、乘、除等基本运算。
三、完成程序:
1.
import java.awt.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
publicclass Zuoye1{
publicstaticvoid main(String args[]){
new winopen();
}
}
class winopen extends JFrame implements ActionListener{ JMenu menu;
JMenuBarmb;
JMenuItem mi;
JTextArea text;
winopen(){
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_CLOSE);
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[]=newchar[100];
StringBuffersb=new StringBuffer(new String(""));
try{
FileReader reader=new FileReader(file);
while((n=reader.read(b,0,10))!=-1){
sb.append(new String(b,0,n));
}
reader.close();
}
catch(IOException e){ System.out.println(e);
}
return sb.toString();
}
}
实验结果抓图及分析:
窗口菜单项
打开“hello.txt”文件
此程序使用JMenuBar创建窗口和菜单,再使用JTextArea创建文本框。然后使用输入流从文件“hello.txt”中读取文本信息。输入流提供一条通道程序,可以使用这条通道读取“源”(即“hello.txt”文件)中的数据。使得程序得以执行。
2.
import javax.swing.*;
import java.util.StringTokenizer;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
publicclass Zuoye2
{ publicstaticvoid main(String args[])
{ ComputerFramefr=new ComputerFrame();
fr.setTitle("计算的窗口");
}
}
class ComputerFrame extends JFrame implements DocumentListener
{ JTextArea text1,text2;
int count=1;
double sum=0,aver=0;
public ComputerFrame()
{ setLayout(new FlowLayout());