Java有2個GUI庫:AWT、Swing。
AWT是SUN最早提供的GUI庫,依賴本地平台,界面不好看,功能有限。之后推出了Swing,Swing並沒有完全替代AWT,而是建立在AWT基礎上的。Swing庫完全采用Java編寫。
現在AWT組件很少使用了,一般都是用Swing的組件來編寫用戶界面,我們主要講Swing的組件。
Swing組件一般是在對應的AWT組件之前加一個J。
Component,組件,可分為2類:
- Container 容器,可盛裝其他組件,可設置布局管理器,用於管理容器中組件的布局
- 普通組件
組件的通用方法:
- setLocation(int x,int y) //設置顯示位置
- setSize(int width,int height) //設置尺寸
- setBounds(int x,int y,int width,int height) //同時設置位置、尺寸
- setVisible(Boolean bool) //設置是否可見,不可見時不再占據原位置
組件的hide()、show()方法也能控制組件是否可見,但這2個方法已被廢棄,不建議使用,當然現在仍然還有效果。
容器的通用方法:
- add(Component comp) //添加組件
- remove(Component comp) //移除組件
- setLayout(LayoutManager manager) //設置布局管理器
容器可分為2類:
- 窗口:JFrame、JDialog,頂級容器,可獨立存在。
- 普通容器:JPanel(包括Applet)、JScrollPane(注意末尾沒有l),不能獨立存在,必須放在其他容器中。
頂級容器JFrame、JDialog可不用setSIze()設置尺寸:
........
frame/dialog.pack(); //將JFrame/JDialog畫出來,自動調整窗口大小,剛好容納組件。
frame/dialog.setVIsible(true);