jcomponent的子類有哪些?
該類是除頂層容器外所有 Swing 組件的基類。要使用繼承自 JComponent 的組件,必須將該組件置于一個根為頂層 Swing 容器的包含層次結(jié)構(gòu)(containment hierarchy)中。頂層 Swing 容器(如 JFrame、JDialog 和 JApplet)是專門為其他 Swing 組件提供繪制自身場所的組件。
組件從功能上分可分為:
1) 頂層容器:JFrame,JApplet,JDialog,JWindow共4個
2) 中間容器:JPanel,JScrollPane,JSplitPane,JToolBar
3) 特殊容器:在GUI上起特殊作用的中間層,如JInternalFrame,JLayeredPane,JRootPane.
4) 基本控件:實(shí)現(xiàn)人際交互的組件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。
5) 不可編輯信息的顯示:向用戶顯示不可編輯信息的組件,例如JLabel, JProgressBar, ToolTip。
6) 可編輯信息的顯示:向用戶顯示能被編輯的格式化信息的組件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea
JComponent類的特殊功能又分為:
1) 邊框設(shè)置:使用setBorder()方法可以設(shè)置組件外圍的邊框,使用一個EmptyBorder對象能在組件周圍留出空白。
2) 雙緩沖區(qū):使用雙緩沖技術(shù)能改進(jìn)頻繁變化的組件的顯示效果。與AWT組件不同,JComponent組件默認(rèn)雙緩沖區(qū),不必自己重寫代碼。如果想關(guān)閉雙緩沖區(qū),可以在組件上施加setDoubleBuffered(false)方法。
3) 提示信息:使用setTooltipText()方法,為組件設(shè)置對用戶有幫助的提示信息。
4) 鍵盤導(dǎo)航:使用registerKeyboardAction( ) 方法,能使用戶用鍵盤代替鼠標(biāo)來驅(qū)動組件。JComponent類的子類AbstractButton還提供了便利的方法--用setMnemonic( )方法指明一個字符,通過這個字符和一個當(dāng)前L&F的特殊修飾共同激活按鈕動作。
5) 可插入L&F:每個Jcomponent對象有一個相應(yīng)的ComponentUI對象,為它完成所有的繪畫、事件處理、決定尺寸大小等工作。 ComponentUI對象依賴當(dāng)前使用的L&F,用UIManager.setLookAndFeel( )方法可以設(shè)置需要的
6) 支持布局:通過設(shè)置組件最大、最小、推薦尺寸的方法和設(shè)置X、Y對齊參數(shù)值的方法能指定布局管理器的約束條件,為布局提供支持。