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

Java 學習雜談(五)—— XML 解析 (DOM/SAX) 與 Swing 界面開發實戰

     編輯:Java 相關知識

XML 解析兩大流派

XML 作為配置信息載體,Java 提供 org.w3c.dom (接口) 和 javax.xml.parsers (工廠) 兩包支持。

DOM 解析

  • 思路:整棵樹載入內存,隨機訪問節點屬性/內容。
  • 優點:反覆查詢快、操作靈活。缺點:佔用內存大。
  • 適用:配置文件小、頻繁查詢(Struts、Hibernate 配置均用 DOM)。

SAX 解析

  • 思路:事件驅動,順序流式讀取,遇標簽觸發事件(startElement/endElement/characters),需自定義 DefaultHandler。
  • 優點:內存佔用小。缺點:只能順序讀取、不支持隨機訪問、需重寫 Handler 邏輯。
  • 現狀:框架配置幾乎無 SAX 用例,大文件流式處理除外。

w3c.dom 接口體系

W3C 制定 XML 結構標準,org.w3c.dom 全接口定義:Document、Element、Node、NodeList、Text、CDATASection 等。JDK 提供具體實現(如 com.sun.org.apache.xerces.internal.dom),開發者面向接口編程。

Swing 界面開發實戰心法

Swing 易上手、組件豐富(JComponent 全為 Container,支持嵌套),但復雜界面代碼量巨大(3000-6000 行常見),體驗難達原生級,現多被 Web/AElectron 替代。仍值得學習以理解 GUI 本質。

核心經驗總結

  1. 顯示入口:只有 JFrame/JDialog 可獨立顯示;JOptionPane 內部仍依賴 JFrame。
  2. JFrame 分層結構:JRootPane → glassPane (透明層,捕獲鼠標/遮罩) + layeredPane → contentPane (組件容器) + menuBar。背景圖加在 layeredPane,組件加在 contentPane。
  3. 快捷鍵:Swing 僅原生識別 Alt 鍵,其他組合鍵需自行實現 ActionListener + KeyStroke。
  4. 佈局管理:setLayout(null) + setBounds() 可精確定位,但嚴禁硬編碼坐標。所有尺寸/顏色/字體應集中在無實例靜態資源類(如 UIConstants)維護,統一風格。
  5. 黃金法則:用戶無需手冊,少量嘗試即會用。高頻操作直接顯示,其餘歸入菜單(右鍵/頂部)。

輕/重組件區別

  • 重組件 (AWT):依賴操作系統原生 Peer,跨平台外觀不一致。
  • 輕組件 (Swing):純 Java 繪製,跨平台外觀一致。

總結

XML 解析選 DOM 還是 SAX 視場景;Swing 雖非主流,但其組件模型、佈局機制、事件處理是理解 GUI 框架的優秀教材。親手寫幾個自定義組件、佈局管理器,比讀十本書更有效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved