圖形界面:
AWT:抽象窗口工具(Abstract Window Toolkit)
組件:圖形界面中所有能看到的,比如按鈕等。
容器:用來管理其他組件的對象
佈局管理器:佈置組件在容器中的位置和大小
Swing:AWT的一個增強版
構造圖形界面的步驟:
選擇一個容器
設置容器的佈局管理器
向容器中添加組件
事件的監聽
容器(Container):用於管理其他的組件的對象,組件必須放到容器裏
JFrame:一個最頂層的窗體容器,所有其他的組件必須放在頂層容器裏。
JPanel:不是頂層容器,必須放在頂層容器中,是透明的(默認)。
容器的方法:
add(Component com) 將組件加入容器。
setLayout(LayoutManager manager) 設置佈局管理器。
setSize(int width,int height) 設置窗口大小
setVisible(boolean b) 顯示或隱藏此組件
setDefaultCloseOperation(int operation) 設置關閉窗體上時默認執行的操作
佈局管理:佈置組件在容器中的位置和大小
FlowLayout:流式佈局管理,Panel和JPanel的默認佈局管理就是FlowLayout
三種構造方式:
FlowLayout()
構造一個新的 FlowLayout,居中對齊,默認的水平和垂直間隙是 5 個單位。
FlowLayout(int align)
構造一個新的 FlowLayout,對齊方式是指定的,默認的水平和垂直間隙是 5 個單位。
FlowLayout(int align, int hgap, int vgap)
創建一個新的流佈局管理器,具有指定的對齊方式以及指定的水平和垂直間隙。
BorderLayout:按方位進行佈局管理,不明確指定,就會默認加載在中間,Frame和JFrame默認的佈局管理器是BorderLayout
兩種構造方式:
BorderLayout()
構造一個組件之間沒有間距的新邊界佈局。
BorderLayout(int hgap, int vgap)
用指定的組件之間的水平間距構造一個邊界佈局。
GridLayout:網格佈局,通過行列、間距來用網格分割,把組件放入網格中,先行後列擺放組件。
三種構造方式:
GridLayout()
創建具有默認值的網格佈局,即每個組件佔據一行一列。
GridLayout(int rows, int cols)
創建具有指定行數和列數的網格佈局。
GridLayout(int rows, int cols, int hgap, int vgap)
創建具有指定行數和列數的網格佈局,並將水平和垂直間距設置爲指定值。
組件:圖形界面中所有能看到的
JButton :按鈕
JTextField:單行文本域
JTextArea:多行文本區
JLabel:標籤