实验四 图形用户界面及Applet .doc
《实验四 图形用户界面及Applet .doc》由会员分享,可在线阅读,更多相关《实验四 图形用户界面及Applet .doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验四 图形用户界面及Applet一、实验目的 1. 了解图形用户界面的概念;2. 掌握标签和按钮的使用;3. 掌握文本框和文本区的使用;4. 掌握对话框的定义与使用;5. 掌握Java的事件处理机制;6. 掌握Applet 程序的工作原理和使用方法;7. 熟练掌握Applet程序开发。二、实验要求 1. 掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。2. 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。3. 熟练使用常用组件编写独立运行的窗口界面。4. 熟练使用图形类 Graphics。5. 掌握在 Applet 容器中添加组件的方法;6. 了解
2、Applet 的生命周期。三、实验内容(一)建立独立运行的窗口界面并使用匿名类最常使用的包含组件的容器是窗口,在Java 中窗口由Frame 类生成。编写SY4_1.java程序文件,程序功能:创建一个具有关闭功能的空白窗口。源代码如下:import java.awt.*;import java.awt.event.*;public class SY4_1SY4_1()Frame f=new Frame(初始窗口);f.setSize(350,200);f.setVisible(true);/为窗口添加窗口事件适配器f.addWindowListener(new WindowAdapter()
3、 /关闭窗口事件的方法public void windowClosing(WindowEvent e)System.exit(0););public static void main(String args) new SY4_1();System.out.println(args0+ +args1);编译并运行程序(二)创建图形用户界面图形用户界面(GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一
4、般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。编写SY4_2.java 程序文件,程序功能:在窗口中添加组件。源代码如下: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(添加组件的窗
5、口);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=n
6、ew 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(S
7、tring 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; i+)dispose();编译并
8、运行程序(三) 为窗口添加菜单程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和2级菜单,通过选择菜单项可以执行不同操作,如“打开”可打开SY4_3类生成的窗口。源代码如下:import java.awt.*;import java.awt.event.*;public class SY4_3 extends Frame implements ActionListener Panel p=new Panel();Button b=new Button(退出);MenuBar mb=new MenuBar();Menu m1=new Menu(文件);MenuItem open=
9、new MenuItem(打开);MenuItem close=new MenuItem(关闭);MenuItem exit=new MenuItem(退出);Menu m12=new Menu(编辑);MenuItem copy=new MenuItem(复制);MenuItem cut=new MenuItem(剪切);MenuItem paste=new MenuItem(粘贴);Menu m2=new Menu(帮助);MenuItem content=new MenuItem(目录);MenuItem index=new MenuItem(索引);MenuItem about=new
10、 MenuItem(关于);SY4_3() super(添加菜单的窗口);setSize(350,200);add(South,p);p.add(b);b.addActionListener(this);m1.add(open); m1.add(close);m1.addSeparator(); /在菜单中添加分隔条m1.add(exit);open.addActionListener(this); exit.addActionListener(this);mb.add(m1);m12.add(copy); m12.add(cut); m12.add(paste);m1.add(m12);m2
11、.add(content); m2.add(index);m2.addSeparator(); m2.add(about);mb.add(m2);setMenuBar(mb); show();public static void main(String args) new SY4_3();public void actionPerformed(ActionEvent e) if (e.getActionCommand()=退出)System.exit(0);if (e.getActionCommand()=打开)new SY4_2();编译并运行程序。(四)使用 Swing 组件、了解事件处理
12、机制 在Java 中,能够实现图形用户界面的类库有两个:java.awt 和javax.swing。前者称为抽象窗口工具库AWT(Abstract Windows Toolkit),后者是Java 基础类库JFC(Java Foundation Classes)的一个组成部分,它提供了一套功能更强、数量更多、更美观的图形用户界面组件。Swing 组件名称和AWT 组件名称基本相同,但以J 开头,例如AWT 按钮类的名称是Button,在Swing 中的名称则是JButton。在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;
13、选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。单击按钮的事件处理程序import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SY4_4 extends JFrame implements ActionListener private JPan
14、el jp = new JPanel();private JButton jbArray = new JButton(自动换行), new JButton(不换行) ;private JTextArea jta = new JTextArea();/ 将文本区作为被滚动控件创建滚动窗体JScrollPane jsp = new JScrollPane(jta);public SY4_4() jp.setLayout(null);for (int i = 0; i 2; i+) jbArrayi.setBounds(20 + i * 110, 120, 90, 20);jp.add(jbArra
15、yi);jbArrayi.addActionListener(this);jsp.setBounds(20, 20, 450, 80);jp.add(jsp);jta.setLineWrap(true);for (int i = 0; i 20; i+) jta.append( + i + Hello World!);this.add(jp);this.setTitle(文本区示例);this.setResizable(false);this.setBounds(100, 100, 500, 180);this.setVisible(true);public void actionPerfor
16、med(ActionEvent e) if (e.getSource() = jbArray0) jta.setLineWrap(true); else if (e.getSource()=jbArray1) jta.setLineWrap(false);public static void main(String args) new SY4_4();(五)使用布局管理器对组件进行管理当一个容器组件上要添加多个组件时,就需要进行组件的布局管理。Java中用布局管理器来进行布局管理,主要作用是:用于控制组件在容器中的布局、负责确定组件在容器中的位置和大小、调用容器的setLayout(布局管理器
17、对象) 方法,为容器指定某种布局。当容器需要定位组件和确定组件大小时,就会给布局管理器对象发消息,让它完成该项工作。SY4_5.java为网格布局示例。import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class SY4_5 extends JFrame implements ActionListener private JPanel jp = new JPanel();private JButton jbArr
18、ay = new JButton6;public SY4_5()for (int i = 0; i jbArray.length; i+) jbArrayi = new JButton(按纽 + (i + 1);jp.add(jbArrayi);jbArrayi.addActionListener(this);this.add(jp);this.setTitle(网格布局);this.setBounds(100, 100, 450, 200);this.setVisible(true);public void actionPerformed(ActionEvent e) jp.setLayou
19、t(new GridLayout(3, 2);this.setTitle(现在为网格布局3,2);jp.revalidate();public static void main(String args) new SY4_5();编译并运行程序(六)使用自定义对话框与内部类对话框是GUI 中很常见的窗口对象,有着广泛的应用。对话框和普通窗口最大的不同就是对话框是依附在某个窗口上,一旦它所依附的窗口关闭了,对话框也要随着关闭。Java 提供了Dialog 类用于制作自定义对话框,当需要改变一些数据或需要一个提示窗口时可使用自定义对话框。程序功能:创建一个带有文本区及“对话框”按钮的父窗口,单击“对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 图形用户界面及Applet 实验 图形 用户界面 Applet
限制150内