java语言进行gui编程_第11章 简单GUI编程 - Java语言实用教程 - 科学技术 综合 - 一起写网(17xie.com)...

本文介绍了Java的GUI编程,包括Java提供的图形用户界面类库java.awt和javax.swing。讲解了AWT中的Checkbox组件及其方法,并展示了使用FlowLayout布局管理器创建简单图形界面的示例。还提出了几个练习题,涉及GUI设计、事件处理和布局管理,以及要求编写一元二次方程求解和按钮移动的程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第11章0b0cd9cd3baf3b4854797b16d6a82ca6.png简单GUI编程

内容提示:程序设计开发中一个重要的工作就是做好程序与用户之间的交互,而图形用户界面就是用图形的方式实现人与计算机的交互,它为用户提供了一个直观、方便、快捷的输入输出界面。Java提供了强大的图形用户包,开发人员可以方便地建立用户图形窗口界面,响应并处理交互事件。

cf4ddd2bfabca2847669fca21c1631bc.png11.1 Java的GUI

图形用户界面(Graphics user interface, GUI)是指用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统运行的结果以图形方式显示给用户的技术。由于用户界面设计质量的好坏直接影响软件的使用,Java语言对此也十分重视,几乎在JDK每个新的版本中,都增加了一定的GUI程序设计新技术或功能,Java语言的GUI发展始终保持着较好的连贯性和兼容性。

目前Java主要提供了两个处理图形用户界面的类库:java.awt和javax.swing。

AWT:抽象窗口工具集(Abstract Windows Toolkit),由于Java代码可以在不同的系统平台运行,而不同平台的图形界面外观设计各有差异,所以Java程序的图形用户界面在不同的平台上可能出现不同的运行效果,其外观取决于具体的平台,所以称AWT是一个抽象的工具集。

Swing:Swing是在AWT的基础上构建的,提供了比标准AWT组件更强大和灵活的功能。与AWT组件不同的是,Swing组件不是由特定的平台代码实现,而是纯粹的Java代码,因此能够实现与平台的无关(此类组件一般被称为轻量级组件)。

利用GUI类库设计和实现图形用户界面的工作主要有两个:一是应用的外观设计,即创建组成图形界面的各部件,指定其位置和属性关系,根据需要进行排列,从而构成完整的图形用户界面的物理外观;二是与用户的交互处理,包括定义图形用户界面的事件以及各部件对不同时间的响应处理。

11.2AWT抽象窗口工具集

AWT类包含在java.awt包中,主要包括用户界面组件、事件处理模型、图形和图像工具、布局管理器等。Java.awt包中的主要类及组件类的继承关系如图11-1所示。

0fbcc148a3ea5d11ae4f8dca2edbec0d.png

图11-1 java.awt包的主要类及组件类的继承关系

构造方法

功能描述

Checkbox()

创建不含标签的复选框

Checkbox(String label)

创建含有标签的复选框

Checkbox(String label, boolean on)

创建含有标签的复选框,并可指定选取状态

Checkbox(String label, CheckboxGroup g, Boolean on)

创建含有标签并可指定选取状态和复选框群组的复选框

表11-2列出了CheckBox类的常用方法

表11-2CheckBox的常用方法

方法

功能描述

String getLabel()

获得此复选框的标签

boolean getState()

获得此复选框的选取状态

void setState(boolean state)

设置此复选框的选取状态

Object[] getSelectedObjects()

获得被选取的复选框

CheckboxGroup getCheckboxGroup()

返回复选框输入哪个组

void setSelected Checkbox(Checkbox)

设置群组中指定的复选框为被选取的状态

【例11-9】流式布局管理器FlowLayout类的应用。

//********** ep11_9.java **********

import java.awt.*;

class ep11_9 extends Frame{

static Frame frm=new Frame("流式布局管理器应用");

public static void main(String args[]){

FlowLayout flow=new FlowLayout(FlowLayout.CENTER,5,10);

Button but=new Button("按钮");

Label lab=new Label("标签");

frm.setLayout(flow);//设置布局为流式布局

frm.setSize(200,150);

frm.setBackground(Color.RED);

frm.add(but);

frm.add(lab);

frm.add(new TextField("流式布局",18));

frm.setVisible(true);

}

}

运行结果如图11-10所示:

9fdf4a4b4d

b0cad62a83035d8ce9398f2227e1ebc0.png

图11-10左图为程序执行窗口右图为拉大后控件自动重新排列

练习题

11.1什么是GUI?功能是什么?

11.2 Java中GUI工具包有______和______。

11.3通过调用方法______可以改变当前容器的布局方式。

11.4通过______方法向容器中添加组件。

11.5 AWT布局管理器有______、______、______、______和______。

11.6 Java GUI编程中常用的JButton是______。

A.对象B.组件C.变量D.接口

11.7 ______可作为所有窗体和对话框的顶层窗体使用。

A. JPaneB. JFrameC. JComponentD. JWindows

11.8下面哪个事件监听器可以处理在文本框中输入回车键的事件______。

A. ItemListenerB. ActionListener

C. KeyListenerD. MouseListener

10.9下列说法中错误的是______。

A.与Swing相比,AWT更依赖于底层平台

B. Swing可以完全取代AWT

C. Component类是所有AWT组件的根

D.容器用布局管理器来控制其中组件的摆放

11.10利用AWT控件编写一个求解一元二次方程根的程序,要求:

(1)具有一元二次方程三个系数a、b、c的输入界面。

(2)显示b*b-4*a*c的值。

(3)显示求出的根。

11.11编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。

11.12实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值