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

08-29 13:53