首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Swing 進階元件速查:JColorChooser、JFileChooser、JTextPane 等實用組件一覽

     編輯:Java 相關知識

Swing 提供超過 100 種元件,本文彙整書中未詳細介紹但極具實用價值的進階組件,附上典型應用場景與關鍵 API。

特殊用途元件速查表

元件用途關鍵方法/特性
JColorChooser顏色選取對話框showDialog()、getSelectionModel()、支援自訂預覽面板
JFileChooser檔案/目錄選取對話框showOpenDialog()、setFileFilter()、多選模式、預覽配件
JPasswordField密碼輸入欄位getPassword() 回傳 char[]、回顯字元可設定、支援剪貼板限制
JEditorPane簡易 HTML/RTF 顯示setContentType("text/html")、setPage(URL)、可編輯模式
JTextPane富文本編輯器StyledDocument、Style、插入圖片/元件、段落屬性

進階架構特性

  1. 新事件類型:DocumentEvent、TableModelEvent、TreeExpansionEvent 等,採用「事件物件攜帶類型資訊」設計,而非靠方法名區分。
  2. 新版面管理:
    • BoxLayout:單軸堆疊,配合 Box.createGlue/Strut/RigidArea 彈性佈局。
    • SpringLayout / Spring/Strut:類似 CSS Flexbox 的彈性約束系統。
  3. 分割面板:JSplitPane 可水平/垂直分割,setDividerLocation()、setResizeWeight() 控制拖曳行為。
  4. 多文件介面 (MDI):JDesktopPane + JInternalFrame 實現視窗內視窗。
  5. 可插入外觀:UIManager.setLookAndFeel() 運行時切換 Metal/Nimbus/Windows/Mac OS X 風格;可自訂 LookAndFeel 子類。
  6. 工具列系統:JToolBar 支援浮動、拖曳停靠、可攜帶 Action 統一命令邏輯。
  7. 雙緩衝自動化:RepaintManager 批次合併重繪區域,預設開啟雙緩衝消除閃爍。
  8. 撤銷/重做:UndoManager + AbstractUndoableEdit 幾行代碼即可為文字元件加入無限級撤銷。
  9. 拖放 (DnD):TransferHandler 統一處理元件間/跨應用程式拖放,支援 DataFlavor 協商格式。

學習建議

  • 以「需要時再查」為原則,核心掌握 JComponent 繼承體系、事件模型、模型介面 (TableModel, ListModel, TreeModel)。
  • 官方 Swing Tutorial 仍是最權威入門資源。
  • 遷移新專案建議評估 JavaFX (FXML+CSS) 或 Web 技術棧。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved