实验五 图形用户界面

时间:2026-01-22

实验报告

实验五 图形用户界面

实验目的

1. 了解图形用户界面的概念;

2. 了解AWT和Swing的基本体系结构;

3. 掌握几种布局管理器的使用方法;

4. 掌握Java的事件处理机制;

5. 掌握图形用户界面的构建。

实验要求

1. 掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。

2. 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。

3. 掌握编写独立运行的窗口界面的方法。

4. 了解 Java Swing 组件的使用方法。

5. 了解对话框的使用方法。

6. 熟练使用图形类 Graphics。

实验内容(一)建立独立运行的窗口界面并使用匿名类

最常使用的包含组件的容器是窗口,在Java 中窗口由Frame 类生成。 编写SY5_1.java程序文件,程序功能:创建一个具有关闭功能的空白窗口。源代码如下:

import java.awt.*;

import java.awt.event.*;

public class SY5_1{

SY5_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 SY5_1();

}

}

编译并运行程序

实验报告

(二)创建图形用户界面

图形用户界面(GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。

编写SY5_2.java 程序文件,程序功能:在窗口中添加组件。源代码如下:

import java.awt.*;

import java.awt.event.*;

public class SY5_2 extends Frame implements ActionListener {

Button btn1, btn2;

TextField f,tf1,tf2;

TextArea Area;

SY5_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 SY5_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();//只关闭当前窗口,注销该对象

}

}

}

编译并运行程序

(三) 为窗口添加菜单

程序功能:在窗口中添加菜单栏,在菜单栏添加菜单项,并添加下拉菜单和2级菜单,通过选择菜单项可以执行不同操作,如“打开”可打开SY5_3类生成的窗口。源代码如下:

import java.awt.*;

import java.awt.event.*;

public class SY5_3 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("关闭");

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 MenuItem("关于");

SY5_3() {

super("添加菜单的窗口");

setSize(350,200);

add("South",p);

p.add(b);

b.addActionListener(this);

m1.add(open); // 将菜单项加入到菜单m1 中

m1.add(close);

m1.addSeparator(); //在菜单中添加分隔条

m1.add(exit);

open.addActionListener(this); //给菜单项open 注册事件监听器

exit.addActionListener(this);

mb.add(m1); // 将菜单m1 加入到菜单栏mb 中

m12.add(copy); m12.add(cut); m12.add(paste);

m1.add(m12);//将m12 作为2 级菜单添加到m1 菜单项中

实验报告

m2.add(content); m2.add(index);

m2.add(about);

mb.add(m2);

setMenuBar(mb); // 设置 …… 此处隐藏:6358字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验五 图形用户界面.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219