实验五-图形用户界面(12页).doc
《实验五-图形用户界面(12页).doc》由会员分享,可在线阅读,更多相关《实验五-图形用户界面(12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验五-图形用户界面-第 12 页实验五 图形用户界面【开发语言及实现平台或实验环境】Windows2000 或XP,JDK1.6【实验目的】1. 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2. 了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。【实验要求】1. 掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。3. 掌握编写独立运行的窗口界面的方法。4. 了解Java Swing 组件的使用方法。5. 了解对话框的使用方法。【实验
2、内容】一创建图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。1 在Applet 中添加标签、按钮并使用网格布局(1) 程序功能:在Applet
3、 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。(2) 编写LX5_1.java 程序文件,源代码如下。import java.awt.*;import java.applet.Applet;public class LX5_1 extends Applet Label l1;Button b1, b2, b3, b4, b5, b6;public void init() setLayout(new GridLayout(3,3); / 设置网格布局(3 行3 列共9 个网格)l1=new Label(标签1);b1 = new Button(按钮1);b2 = new
4、 Button(按钮2);b3 = new Button(按钮3);b4 = new Button(按钮4);add(l1);add(b1);add(b2);add(b3);add(new Label();add(b4);add(new Button(按钮5);add( new Button(按钮6);add(new Label(标签2);(3) 编译程序LX5_1.java。(4) 编写显示Applet 的页面文件LX5_1.html,在浏览器显示结果如图6.1 所示。2 在面板中添加组件(1) 程序功能:在Applet 中添加面板容器,并分别在Applet、面板容器中添加组件并使用不同的布
5、局管理方式。(2) 编写LX5_2.java 程序文件,源代码如下。import java.awt.*;import java.awt.Color;import java.applet.Applet;public class LX5_2 extends Applet public void init() /设置最底层的 Applet 容器为顺序布局setFont(new Font(Arial,Font.PLAIN,20);Label l=new Label(这是最底层的 Applet 容器中的标签,Label.CENTER);add(l);Panel panel1=new Panel();ad
6、d( panel1);panel1.setBackground(Color.blue);panel1.setForeground(Color.red);panel1.setLayout(new BorderLayout();/设置边界布局panel1.add(North, new Button(北);panel1.add(South, new Button(南);panel1.add(East, new Button(东);panel1.add(West, new Button(西);panel1.add(Center, new Label(这是在 Panel1 面板 中部添加的标签);Pan
7、el panel2=new Panel();add( panel2);panel2.setLayout(new GridLayout(3,1); /设置网格布局Choice c=new Choice ();/创建下拉式列表c.addItem(北京);c.addItem(上海);c.addItem(天津);Label l1=new Label(这是在 Panel2 面板中的标签);Button b1=new Button(Panel2 中的按钮);panel2.setBackground(Color.green);panel2.add(l1);panel2.add(b1);panel2.add(
8、c);(3) 编译程序LX5_2.java。(4) 编写显示Applet 的页面文件LX5_2.html,在浏览器显示结果如图6.2 所示。二了解事件处理机制在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。1单击按钮的事
9、件处理程序(1)程序功能:使用手工布局设置组件标签、按钮的位置,为按钮编写单击事件处理方法。当用户用鼠标单击按钮时,会听到一声响声。(2)编写LX5_3.java 程序文件,源代码如下。import java.awt.*;import java.awt.event.*;import java.applet.Applet;public class LX5_3 extends Applet implements ActionListener / 实现动作事件监听接口public void init() setLayout(null);/关闭默认的顺序管理布局Label l=new Label(按一
10、下按钮可听到响声!, Label.CENTER);add(l);l.setBounds(40,10,150,30);Button b=new Button(按钮);add(b);b.setBounds(60,50,60,40);b.addActionListener (this); / 注册事件源的动作监听者public void actionPerformed(ActionEvent e) /实现单击事件接口的方法Toolkit.getDefaultToolkit ().beep(); /单击事件发生时作出的反应(3)编译程序LX5_2.java。(4)编写显示Applet 的页面文件LX5
11、_3.html,在浏览器显示结果如图6.3 所示。2. 选择复选框和单选框按钮的事件处理程序(1) 程序功能:在Applte 上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10 进制数,选择不同选项可转换为2、8、16 进制数。(2) 编写LX5_4.java 程序文件,源代码如下。import java.applet.Applet;import java.awt.*;import java.awt.event.*;public class LX5_4 extends Applet implements ItemListener TextArea area=new Te
12、xtArea(6,30);/创建文本区String Item=2 进制,8 进制,16 进制,10 进制;Checkbox cb=new Checkbox5;Checkbox radio=new Checkbox5;Label l=new Label(输入10 进制数);TextField TF=new TextField(6);/创建单行文本框public void init() add(l);add(TF);add(area);add(new Label( 请选择进制:);for(int i=0; i4; i+) cbi=new Checkbox(Itemi);add(cbi);cbi.a
13、ddItemListener(this);CheckboxGroup cbGroup=new CheckboxGroup();/创建单选框add(new Label(请选择进制:);for(int i=0; i4; i+) radioi=new Checkbox(Itemi,cbGroup,false);add(radioi);radioi.addItemListener(this);public void itemStateChanged(ItemEvent e) int x=Integer.parseInt(TF.getText();if (e.getItem ()=2 进制)area.a
14、ppend (你选择的是+e.getItem ()+ Integer.toBinaryString(x)+n);if (e.getItem ()=8 进制)area.append (你选择的是+e.getItem ()+ Integer.toOctalString(x)+n);if (e.getItem ()=16 进制)area.append (你选择的是+e.getItem ()+Integer.toHexString(x)+n);if (e.getItem ()=10 进制)area.append (你选择的是+e.getItem ()+x+n);(3) 编译程序LX5_4.java。(
15、4) 编写显示Applet 的页面文件LX5_4.html,在浏览器显示结果如图6.4 所示。三建立独立运行的窗口界面并使用匿名类最常使用的包含组件的容器是窗口,在Java 中窗口由Frame 类生成。1创建一个窗口界面(1)程序功能:创建一个具有关闭功能的空白窗口。(2)编写LX5_5_W.java 程序文件,源代码如下。import java.awt.*;import java.awt.event.*;public class LX5_5_W public static void main(String args) new LX5_5_W();LX5_5_W()Frame f=new Fr
16、ame(初始窗口);/创建窗口对象f.setSize(350,200);/设置窗口大小f.setVisible(true);/设置窗口是可视的f.addWindowListener(new WindowAdapter() /为窗口添加窗口事件适配器public void windowClosing(WindowEvent e) /关闭窗口事件的方法System.exit(0);(3)编译并运行程序,会出现一个界面窗口如图6.5 所示。它可以最大化、最小化,单击按钮可以关闭该窗口。2在窗口中添加组件(1)程序功能:在窗口中添加组件。(2)编写LX5_6.java 程序文件,源代码如下。impor
17、t java.awt.*;import java.awt.event.*;public class LX5_6 extends Frame implements ActionListener Button btn1, btn2;TextField f,tf1,tf2;TextArea Area;LX5_6() super(添加组件的窗口);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0);setSize(350,250); /设置窗口大小setLocatio
18、n(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); ad
19、d(btn1); add(btn2);tf1.addActionListener(this); tf2.addActionListener(this);btn1.addActionListener(this); btn2.addActionListener(this);show();public static void main(String args) new LX5_6();public void actionPerformed(ActionEvent e) if (e.getSource()=btn1)f.setText(你按下了“ + e.getActionCommand() + ”按
20、钮);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; i100000000; i+);dispose();/只关闭当前窗口,注销该对象(3)编译并运行程序,界面窗口如图6.6 所示。3为窗口添加菜单(1)程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和2 级菜单,通过选择菜单项可以执行不同操作,如“打开”可打开LX5_6 类生成
21、的窗口。(2)编写LX5_7.java 程序文件,源代码如下。import java.awt.*;import java.awt.event.*;public class LX5_7 extends Frame implements ActionListener Panel p=new Panel();Button b=new Button(退出);MenuBar mb=new MenuBar(); / 以下生成菜单组件对象Menu m1=new Menu(文件);MenuItem open=new MenuItem(打开);MenuItem close=new MenuItem(关闭);Me
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 图形 用户界面 12
限制150内