文档介绍:学习导读
首先,我们学习一些基本的图形编程知识,包括窗口的显示及外观设置、在窗口中显示文字和图像等;
接下来,介绍Java的事件处理机制,例如如何在程序中接收并处理如键盘按键和鼠标点击等“事件”;
最后,系统地介绍图形用户界面中常用组件的用法,如布局管理器、文本框、复选框、菜单、对话框等。
第七章图形用户界面的设计与实现
教学重点与难点:
框架的组成及外观
在框架中显示文本和图形
字体和颜色的设置
Java的事件处理机制
窗口事件、焦点事件、键盘事件、鼠标事件的处理
Swing各种组件的用法
图形用户界面概述
(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。
,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。
但是,Swing并没有代替AWT。,AWT事件处理模型有了根本改变。。
简单图形用户界面
第一个图形用户界面
在Java中,顶层窗口称为框架。在AWT库中,对应于框架的类是Frame,在Swing库中,相应的类是JFrame。JFrame类扩展了Frame类。大部分AWT组件在Swing中都有等价的组件,它们在表示形式上差一个“J”。
框架是一个容器,我们可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。
【】显示一个空框架
import .*;
 public class FirstFrame
{
public static void main(String[] args)
{
SimpleFrame frame = new SimpleFrame();
//设置用户关闭框架时的响应动作
();
//显示该框架
();
}
}
 class SimpleFrame extends JFrame
{
public SimpleFrame()
{
//设置框架大小
setSize(WIDTH, HEIGHT);
}
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
}
运行结果
框架外观
JFrame类的继承层次图
Component类是所有GUI对象的祖先,Window类是Frame类的父类,JFrame类直接从Frame继承而来。对于框架外观的操作比较重要的方法如下:
setIconImage——窗口最小化(在Java中称为图标化)时,把一个Image对象用作图标。
setTitle——设置窗口中标题栏的文字。
setResizable——设置用户是否可以改变框架大小。
dispose方法——关闭窗口,并回收该窗口的所有资源。
setLocation——设置组件的位置。
setBounds——重新设置组件的大小和位置。
【】框架外观的设置
设置具有以下特征的框架:
它的高度和宽度为整个屏幕的1/3;
自定义窗口的标题和图标;
窗口的大小不可变。
。运行结果如下:
图标
标题
最大化按钮失效
在框架中显示信息
JFrame包含了四个窗格:RootPane、LayeredPane、GlassPane和ContentPane。如果需要将一些图形用户界面元素加入到框架中,我们需要在面板组件(JPanel)中进行绘制,然后将该面板组件加入到框架的内容窗格(ContentPane)中。相应的代码如下:
//得到JFrame的内容窗格对象
Container contentPane = getContentPane();
Component c = ...;
//将组件加入到内容窗格中
(c);
面板JPanel类本身是容器,它可以容纳其他图形用户界面元素,如按钮、菜单等。
为了在面板中进行绘制,ponent方法。
class MyPanel extends Jpanel
{
public void ponent(Graphics g)
{
(g);
...//相关的绘制代码