1. 程式人生 > >Swing元件繼承關係

Swing元件繼承關係

       Swing元件作為一種輕量型元件,所謂輕量,是指Swing元件是由純程式碼架構的,具有很好的跨平臺可移植性,在當今程式設計中越來越廣泛使用,而AWT元件由於其架構的“重量”,慢慢的被JAVA官方拋棄;相比AWT元件,Swing元件較Awt元件的優勢我就不多說了。

       這裡我想說的是Swing元件的關係繼承,相信瞭解了Swing元件的繼承關係後,再使用Swing一定會變得更加輕鬆。

       Swing元件常用基本元件的JLabel,JTextField(JPasswordField),JTextArea(JTextPane,JEditPane 多行文字使用,可以設定文字的對齊方式,字型大小,段落間隔等等,而JTextArea則不行,這個Api上有說明),JRadioBox,JCheckBox,JComboBox,JList,JSpinner,JTable,JTree,JSlider,JProgressBar,JScrollBar(滑動塊),JSperator;

       Swing常用的中間元件有JPanel,JScrollPane(相比其他Panel有點特殊,通過它的getViewPort().add()這樣使用來增加中間或基本元件),JTabbedPane,JSplitPane,JToolBar,(JLayeredPane,JRootPane,JDeskTopPane,JInternalFrame 這四個比較特殊,一般不怎用)

       Swing常用的頂層容器有JFrame,JApplet(網路程式設計常用),JDialog,JWindow。

       上面這些元件都引用自包javax.swing.*;這些元件繼承自java.swing.JComponent;而java.swing.JComponent又繼承自java.awt.Container,java.awt.Container繼承於java.awt.Component,java.awt.Component繼承於java.lang.Object;如下圖所示。

     由於Swing元件是繼承自AWT元件的,所以有時候(特殊情況)可以用AWT容器來裝Swing元件,比如Container con=jFrame.getContentPane();這裡的物件con是屬於AWT元件,而jFrame.getContentPane()屬於Swing元件。其實Container可以裝任何Swing元件,因為,swing類就是從AWT類繼承而來的。驚訝安靜18