经过一段时期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:确定框架大小是否允许用户改变