Swing特点:
1.轻量级组件
2.可插入外观组件
Swing包
为了有效的使用Swing组件,必须了解Swing包的层次结构和继承关系,其中比较重要的类是Component类,Container类和JComponent类。
在Swing组件中大多数CUI组件都是Component类的直接子类或间接子类,JComponent类是Swing组件各种特性的存放位置,,这些组件的特性包括设定组件边界,GUI组件自动滚动等。Swing组件中最重要的父类是Container类,而container有两个重要的子类,分别为Java.awt.window和java.awt.Frame,除了以往的AWT类组件会继承这两个类之外,现在的Swing组件也拓展了这两个类。
常用的Swing组件概述
组件名称 | 定义 |
JOptionPane | 代表swing中的一些对话框 |
JButton | 代表Swing按钮,按钮可以带一些图片或文字 |
JCheckBox | 代表Swing中的复选框组件 |
JFrame | 代表Swing的框架类 |
JComBox | 代表下拉列表框,可以在下拉显示区域显示多个选项 |
JFrame | 代表Swing的框架类 |
JDialog | 代表Swing版本的对话框 |
JLabel | 代表Swing中的标签组件 |
JRadioButton | 代表swing的单选按钮 |
JList | 代表能够在用户界面中显示一系列条目的组件 |
JTextField | 代表文本框 |
JPasswordField | 代表密码框 |
JTexArea | 代表Swing中的文本区域 |
常用窗体
JFrame窗体与JDialog窗体
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看做是承载这些Swing组件的容器,在开发应用程序时可以通过继承Java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。由于该窗体继承了JFrame类,所以它拥有“最大化”“最小化”“关闭”等按钮
JFrame语法格式:
JFrame jf = new JFrame(title);
Container container = jf.getContentpane();
jf: JFrame类的对象
container: Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。
Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。通常,这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自Container类的add()方法进行设置。例如:
container.add(new JButton("按钮"));
在组件中添加组建后,也可以使用Container类的remove()方法将这组组件从容器中删除。例如:
container.remove(new JButton("按钮"));
JDialog窗体
JDialog窗体是Swing组件中的对话框,它继承了AWT组件中的java.awt.Dialog类。
JDialog窗体的功能是从一个窗体中弹出另一个窗体,它像是在使用IE浏览器时弹出的确定对话框一样,JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,在使用时也需要调用getcontentpane()方法将窗体转化为容器,然后在容器中设置窗体的特性。
在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法。
public JDialod() :创建一个没有标题和父窗口的对话窗
publivc JDialog(Frame f) :创建一个指定父窗体的对话窗,但该窗体没有标题
public JDialog(Frame f,boolean model) :创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题
public JDialog(Frame f,String title) :创建一个指定标题和父窗体的对话框
public JDialog(Frame f, String title, boolean model) :创建一个指定标题,窗体和模式的对话框