GUI

一、GUI(图形用户界面)

Graphical User Interface(图形用户接口)

Java为GUI的对象都存在java.Awt和javax.Swing两个包中


java.Awt: 

Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属于重量级控件


javax.Swing:

在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。(跨平台性良好,推荐使用)



二、GUI布局

常见的布局管理器:

FlowLayout(流式布局管理器)

    从左到右顺序排列。

    Panel默认的布局管理器。

BorderLayout(边界布局管理器)

    东、南、西、北、中

    Frame默认的布局管理器

GridLayout(网格布局管理器)

    规则的矩阵

CardLayout(卡片布局管理器)

    选项卡

GridBagLayout(网格包布局管理器)

    非规则的矩阵


三、事件监听机制

    事件源(组件)

    事件(Event)

    监听器(Listener)

    事件处理(引发事件后处理方式)

import java.awt.*;
import java.awt.event.*;

class FrameDemo {
    // 定义该图形中所需的组件的引用
    private Frame f;
    private Button btn;

    FrameDemo() {
        init();
    }

    public void init() {
        f = new Frame("My Window");

        // 对frame进行基本设置
        f.setBounds(500, 300, 600, 500);
        f.setLayout(new FlowLayout());

        btn = new Button("my button");   

        // 将组件添加到frame中
        f.add(btn);

        // 加载窗体上的事件
        myEvent();

        // 显示窗体
        f.setVisible(true);
    }

    private void myEvent() {
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }

        });

        // 给这个窗体添加按钮,让按钮具备退出程序的功能,按钮就是事件源
        // 想要知道哪个组件具备什么样的特有监听器。需要查看该组件的特有功能
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("退出,按钮干的");
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        new FrameDemo();
    }
}


你可能感兴趣的:(java,GUI)