Java 視窗化應用程式開發:從 Applet 限制到 Swing/JavaFX 現代桌面架構
為何需要獨立視窗應用程式 Applet 受沙箱嚴格限制: 無法存取本地檔案系統 無法擁有原生選單列與對話框 無法直接連線非來源伺服器 瀏覽器關閉/換頁即銷毀狀
Java AWT 選單實作完全指南:選單列、子選單、核取選單項、動態切換與事件處理
選單架構限制 僅限 Frame 應用程式,Applet 無法直接擁有選單列 (無 setMenuBar()) 解決方案:Applet 建立 Frame 並在其
Java AWT 對話框設計完全指南:從基礎 Dialog 到檔案選擇對話框實戰
Dialog 核心特性 從現有視窗彈出的次級視窗,處理特定任務不干擾主視窗 繼承 Dialog 類別,擁有版面配置管理器 (預設 BorderLayout)
Java 1.1 AWT 全面革新:新事件模型、內部類、Java Beans 基石與剪貼板/列印新功能
歷史轉折:從笨拙到優雅 Java 1.0 AWT:事件模型「糟糕、笨拙、非物件導向」,靠 handleEvent() 巨大 switch/if 鏈處理所有事件。
Java 1.1 新事件模型核心解析:從動作處理到內部類最佳實踐
舊模型痛點 vs 新模型優雅 Java 1.0 事件模型:所有元件事件集中在 handleEvent() 或 action() 中,靠 if (evt.targ
JPCAP 實戰:Java 資料鏈路層封包擷取與 ARP 欺騙網路監聽實作
前言:為何需要 JPCAP Java 標準庫僅支援傳輸層 (TCP/UDP) 以上協定,無法直接操作網路層、資料鏈路層封包。JPCAP 透過 JNI 呼叫 li
Java AWT 事件與監聽器完整對照表:元件支援事件、監聽器介面與適配器模式全解析
前言 Java 1.1 委派事件模型中,每個元件透過 addXXXListener()/removeXXXListener() 註冊特定事件監聽器。本文提供三張
Java 1.1 AWT 視窗與 Applet 雙模式開發:從按鈕到 JAR 封裝完整指南
核心技巧:Applet 加上 main() 即可雙模式運行 只需在 Applet 類別加入 main(),建立 Frame 載入 Applet 實例,即可同時支
重探 Java 1.1 AWT 早期範例:文本、區域、按鈕、選單與對話框全解析
前言 本文回顧《Thinking in Java》經典範例,展示 Java 1.1 新事件模型如何改寫舊版程式碼,涵蓋 TextField、TextArea、C
Java AWT 動態事件綁定:執行時靈活增刪監聽器
新事件模型帶來的靈活性 Java 1.1 引入的委派事件模型,讓元件可動態註冊/移除多個監聽器,不再像 1.0 版那般被迫在 handleEvent() 中硬編
Java 檔案與磁碟操作完全指南:從基礎 IO 到進階技巧
前言 檔案與磁碟操作是 Java 開發的基礎核心技能。本文系統整理從目錄列舉、檔案對話框、中文檔案複製陷阱、Unicode 處理、資料存取、效能原則到磁碟空間查
分離商業邏輯與 UI 邏輯:打造可重用、可維護的 Java 應用架構
核心原則:單一職責與關注點分離 在物件導向設計中,「一個類只做一件事」 是基本準則。當涉及用戶介面程式碼時,這項原則更顯關鍵,因為 UI 很容易將「做什麼」(商
Java 動態代理模式深度解析:InvocationHandler 機制
場景 董事長 (Director) 實作 Merchant 介面,秘書 (Secretary) 代理簽單。 核心介面與類 public interface Me
Java 系統顏色:獲取與應用桌面顏色常數
前言 在開發跨平台的 Java 桌面應用時,為了讓介面風格與原生系統保持一致,Java 提供了 java.awt.SystemColor 類。它封裝了系統當前的
深入理解 Java 匿名內部類:原理、陷阱與事件處理實戰
前言 在 Java 程式設計中,內部類是一項強大且靈活的機制,而匿名內部類更是事件驅動程式設計的核心工具。本文將系統探討內部類的理論基礎、this 引用的常見陷
Java 打印功能實作指南:文字、圖形與頁面佈局
核心流程 取得 PrintJob:toolkit.getPrintJob(frame, jobName, null)。 獲取頁面尺寸:pj.getPageDi
Java 中文排序完整指南:Collator 與 RuleBasedCollator
簡單字串陣列排序 Comparator cmp = Collator.getInstance(Locale.CHINA); String[] arr = {&q
Java 系統剪貼板操作實戰:複製、剪下、貼上
核心類 Clipboard:Toolkit.getDefaultToolkit().getSystemClipboard() 取得系統剪貼板。 StringS