GUI(图形用户界面)

时间:2021-10-20 22:42:34


1、GUI(图形用户界面)
GUI
Graphical User Interface(图形用户接口)。
用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI
Command line User Interface (命令行用户接口)
就是常见的Dos 命令行操作。
需要记忆一些常用的命令,操作不直观。

举例:
比如:创建文件夹,或者删除文件夹等

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


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

javax.Swing:在AWT 的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且
完全由Java 实现。增强了移植性,属轻量级控件。

Swing控件继承关系图

-----------------------------

GUI(图形用户界面)

-----------------------------

2、布局管理器
容器中的组件的排放方式,就是布局。
常见的布局管理器:
FlowLayout(流式布局管理器)//目前最常用的
从左到右的顺序排列。
Panel 默认的布局管理器。
BorderLayout(边界布局管理器)
东,南,西,北,中
Frame 默认的布局管理器。
GridLayout(网格布局管理器)

规则的矩阵
CardLayout(卡片布局管理器)
选项卡
GridBagLayout(网格包布局管理器)


非规则的矩阵

使用方法:new frame().setLayout(new FlowLayout());

创建图形化界面:
1,创建frame 窗体。
2,对窗体进行基本设置。 比如大小,位置,布局。
3,定义组件。
4,将组件通过窗体的add 方法添加到窗体中。
5,让窗体显示,通过setVisible(true)

----------------------------------------------

eg:简单的窗体

public class SwingDemo {

public static void main(String[] args) {

JFrame frame = new JFrame();
frame.setBounds(300, 100, 500, 300);
frame.setLayout(new FlowLayout());

JButton button = new JButton("登录");
frame.add(button);

//对窗体添加事件监听机制
frame.addWindowListener(new WindowAdapter(){
//当关闭窗体事件发生时
public void windowClosing(WindowEvent e) {
//退出JVM
System.exit(0);
}

});

frame.setVisible(true);
}
}
----------------------------------------------

3、事件监听机制组成
1,事件源:就是awt 包或者swing 包中的那些图形界面组件。
2,事件(Event):每一个事件源都有自己特有的对应事件和共性事件。
3,监听器(Listener):将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
以上三者都已经定义好,直接获取其对象来用就可以了。我们要做的事情是对产生的动作进行处理。 4,事件处理(引发事件后处理方式)
事件监听机制流程图
------------------------------- GUI(图形用户界面) ------------------------------- 务必记牢:
确定事件源(容器或组件)
通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上。
该方法中接收XXXListener 的子类对象,或者XXXListener 的子类XXXAdapter 的子类对
象。
一般用匿名内部类来表示。
在覆盖方法的时候,方法的参数一般是XXXEvent 类型的变量接收。
事件触发后会把事件打包成对象传递给该变量。(其中包括事件源对象。通过getSource()
或者,getComponent()获取。
-------------------------------- eg:
-------------------------------- --------------------------------