GUI:圖形用戶界面
- Graphics User Interface,用戶與程序交互的窗口。
- awt、swing、swt、Jface關係
swing是將swt升級和改善。lcd問題就是能跨平臺操作,而且界面一樣。
現在我們大多用swing。 - swing組件一覽
可以看出分爲:Text文本塊的,菜單塊,小控件(按鈕,滑竿,單選等),窗口塊,還有子窗口塊。 - 例子
import javax.swing.*;
import javax.swing.*;
//這個x表示擴展swing的包。
public class MyClass extends JFrame{
public static void main(String[] args) {
MyClass myclass = new MyClass();
}
public MyClass(){
//JFrame是一個頂層容器(可以添加其他swing組件的容器類)
JButton jb1 = new JButton("按鈕");//這句話只是創建了一個按鈕,但是還沒有添加呢
//給窗體設置標題
this.setTitle("hello chen");
//設置大小,像素單位
this.setSize(300,200);
//設置初始位置
this.setLocation(200, 100);
this.add(jb1);
//顯示
this.setVisible(true);
//關閉窗口的時候就關閉此窗口,就是從JVM中退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
JButton
- JButton是AbstractButton的子類
- 屬於容器類組件,可以加入別的組件
- Swing包得按鈕組件不只有JButton,還有單選按鈕(JRadioButton),箭頭按鈕(BasicArrowButton)、觸發器按鈕(JToggleButton)……
佈局管理器
概念
組件在容器(如JFrame)中的位置和大小是由佈局管理器來決定的,所有的容器都會使用一個佈局管理器來自動進行組件的佈局管理。
種類
java提供了5種佈局管理器:
1. 流式佈局管理器(FlowLayout)
2. 邊界佈局管理器(BorderLayout)
3. 網格佈局管理器(GridLayout)
4. 卡片佈局管理器(CardLayout)
5. 網格包佈局管理器(GridBagLayout)