实验五-图形用户界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五-图形用户界面
实验五图形用户界面
一、实验目的
1.了解图形用户界面的概念;
2.掌握标签和按钮的使用;
3.掌握文本框和文本区的使用;
4.掌握对话框的定义与使用;
5.掌握Java的事件处理机制;
二、实验要求
1.掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管
理的方法。
2.理解J a v a的事件处理机制,掌握为不同组件编写事件处理程序的
方法。
3.熟练使用常用组件编写独立运行的窗口界面。
4.熟练使用图形类Gr a p h i c s。
三、实验内容
(一)建立独立运行的窗口界面并使用匿名类
最常使用的包含组件的容器是窗口,在J a v a中窗口由F r a m e类生成。编写S Y4_1.ja v a程序文件,程序功能:创建一个具有关闭功能的空白窗口。源代码如下:
import java.awt.*;
import java.awt.event.*;
public class SY4_1{
SY4_1(){
Frame f=new Frame("初始窗口");
f.setSize(350,200);
f.setVisible(true);
//为窗口添加窗口事件适配器
f.addWindowListener(new WindowAdapter() {
//关闭窗口事件的方法
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args) {
new SY4_1();
System.out.println(args[0]+"
"+args[1]);
}
}编译并运行程序
(二)创建图形用户界面
图形用户界面(G UI)是为方便用户使用设计的窗口界面,在图形
用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是
什么后才能操作什么的方式。组件(C o m p o n e n t)是构成G U I的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组
件一般作为一个对象放置在容器(C on t a i n e r)内,容器是能容纳和排
列组件的对象,如P a n e l(面板)、F r a m e(窗口)等。通过容器的ad d
方法把组件加入到容器中。
编写S Y4_2.j a v a程序文件,程序功能:在窗口中添加组件。源代
码如下:
import java.awt.*;
import java.awt.event.*;
public class SY4_2 extends Frame implements ActionListener {
Button btn1, btn2;
TextField f,tf1,tf2;
TextArea Area;
SY4_2(){
super("添加组件的窗口");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setSize(350,250); //设置窗口大小
setLocation(200,200);//设置窗口显示位置
setFont(new Font("Arial",Font.PLAIN,12)); //设置字体
setLayout(new FlowLayout());
Area=new TextArea (6,40);
tf1=new TextField(10); tf2=new TextField(10);
btn1=new Button("显示"); btn2=new Button("退出");
f=new TextField(20);
add(Area); add(new Label("用户名"));
add(tf1); add(new Label("电话"));
add(tf2); add(f); add(btn1); add(btn2);
tf1.addActionListener(this);
tf2.addActionListener(this);
btn1.addActionListener(this);
btn2.addActionListener(this);
show();
}
public static void main(String args[]){
new SY4_2();
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==btn1)
f.setText("你按下了" + e.getActionCommand() + "按钮");
if (e.getSource()==tf1)
Area.append("用户名:"+tf1.getText()+"\n");
if (e.getSource()==tf2)
Area.append("电话:"+tf2.getText()+"\n");
if (e.getSource()==btn2){
for (int i=0; i<100000000; i++){}
dispose();
}
}
}编译并运行程序