经过一段时期java语法的学习,从现在开始,我将进行图形用户界面(GUI)的java程序学习。以下是我对此的一点学习笔记。

    在java1.0出现初期,采用了AWT库处理用户界面元素。随着时代发展,对于用户界面元素的要求提高,不同平台操作行为有偏差等原因,AWT显而易见已经过时。在此之后,Swing库顺理成章面世,并沿用至今。在这里,抛却Swing库的其他复杂理念,我们只对显示窗口和绘制内容的基本知识进行学习。

    一、框架构造

    java中,将未包含在其他窗口的顶层窗口称为框架。AWT库中包含一个Frame库,用于描述顶层窗口。在Swing库中有一个对应的库,名为JFrame,扩展于Frame库。如下给出显示空框架的简单程序。

1 import java.awt.*;
 2 import javax.swing.*;
 3 
 4 public class simpleFrameTest {
 5   public static void main(String[] args) {
 6     EventQueue.invokeLater(new Runnable() {
 7       public void run() {
 8         SimpleFrame frame=new SimpleFrame();
 9         frame.setDefaultCloseOpration(JFrame.EXIT_ON_CLOSE);
10         frame.setVisible(true);
11         }
12       });
13     }
14 }
15 
16 class SimpleFrame extends JFrame {
17   private static final int DEFAULT_WIDTH=300;
18   private static final int DEFAULT_HEIGHT=200;
19   public SimpleFrame() {
20     setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
21     }
22 }

    默认情况中,JFrame框架的大小确定为0*0,在这种条件下框架是无意义的。在此我们定义了一个SimpleFrame类,并构造了一个SimpleFrame类的frame对象,将其通过setSize方法,设置为300*200的像素大小。在Test类的main方法中,通过setVisible方法使其可见。在Swing组件中,利用时间分派线程将鼠标点击和按键控制转移到用户接口组件。可将6~7行线程代码视作启动Swing程序的代码段。

 

二、框架定位

在JFrame类中,包含了很多用于改变框架外观的方法。

·setLocation,setBounds:设置框架的位置

·setIconImage:告诉窗口系统在标题栏、任务切换窗口等位置显示哪个图表

·setTitle:改变标题栏文字

·setResizable:确定框架大小是否允许用户改变