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);