swing简介

 Jcomponent是一个抽象类,用于定义所有子类组件的一般方法,其类层次结构如下所示: 

 Java.lang.Object

     |

     +--Java.awt.Component

          |

          +--Java.awt.Container

              |

              +--Javax.swing.JComponent

并不是所有的Swing组件都继承于JComponent类,JComponent类继承于Container类,所以凡是此类的组件都可作为容器使用。

组件从功能上分可分为:

1)顶层容器:JFrame,JApplet,JDialog,JWindow共4个

2)中间容器:JPanel,JScrollPane,JSPlitPane,JToolBar 

3)特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane.

4)基本控件:实现人机交互的组件,如Jbutton,JComboBox,JList,JMenu,JSlider,JtextField。

5)不可编辑信息的显示:向用户显示不可编辑信息的组件,例如JLabel,JProgressBar,ToolTip。

  6) 可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea。

1.1 使用Swing的基本规则 

与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentpane)上。内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件。基本规则如下:

(1)把Swing组件放入一个顶层Swing容器的内容面板上

(2)避免使用非Swing的重量级组件。 对JFrame添加组件有两种方式:

1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)J

2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

  JpanelcontentPane=newJpanel();

……//把其它组件添加到Jpanel中;

  frame.setContentPane(contentPane);J

    //把contentPane对象设置成为frame的内容面板 

相关推荐