Swing 滑桿與進度條聯動:共享模型的極簡實作
核心概念:模型-視圖分離 Swing 採用 **MVC 變體**,元件 (View) 與資料 (Model) 分離。JSlider 與 JProgressBar
Swing JTree 入門:預設樹模型與動態增減節點實作
JTree 是 Swing 最強大也最複雜的元件之一。幸好 90% 場景只需「預設樹模型」(DefaultTreeModel + DefaultMutableT
Swing JTable 完整入門:TableModel 分離架構與可編輯表格實作
JTable 採用「視圖-模型分離」架構:JTable 負責渲染與互動,TableModel 負責資料存取與變更通知。本文以 Table.java 範例完整解析
Java 單例運行檢測:基於檔案鎖的跨平台實作
需求場景 防止使用者重複啟動同一 Java 應用程式(如桌面客戶端、代理服務),需在啟動早期檢測是否已有實例運行,若是則提示並退出。 核心原理:檔案鎖 利用
Swing JTabbedPane 實戰:以 RTTI 動態載入面板取代傳統 CardLayout
CardLayout 需手動管理卡片切換邏輯,JTabbedPane 內建分頁標籤、鍵盤導航、滾動標籤等功能,開發效率大幅提升。本文解析 Tabbed.java
Swing 進階元件速查:JColorChooser、JFileChooser、JTextPane 等實用組件一覽
Swing 提供超過 100 種元件,本文彙整書中未詳細介紹但極具實用價值的進階組件,附上典型應用場景與關鍵 API。 特殊用途元件速查表 元件用途關鍵方
Java GUI 發展史回顧:從 AWT 1.0 到 Swing/JFC 的架構蛻變
Java 圖形介面經歷了三次重大架構演進:AWT 1.0 → AWT 1.1 (事件模型 + Bean) → Swing/JFC。本文梳理脈絡,說明每階段解決的
Java AWT 事件處理練習題全解析:從按鈕到選單的完整實作指南
本文整理 11 道經典 AWT 事件處理練習,涵蓋按鈕、核取方塊、選單、對話框、卡片佈局、Java Bean 封裝等核心主題,附上解題思路與現代化重構建議。
Java Applet 滑鼠事件處理入門:追蹤座標與點擊計數
雖然 Applet 已被淘汰,但其事件處理模型仍是理解 Java GUI 程式設計的經典教材。本文解析一個簡易滑鼠追蹤程式,展示 mouseDown、paint
多線程核心觀念:進程、執行緒與多任務的關係圖解
在撰寫並發程式前,必須釐清三個基礎名詞:進程、執行緒、多任務。本文以生活化比喻建立直覺心智模型。 名詞定義與比喻 術語定義生活比喻 進程擁有獨立記憶體空間的
Java 線程入門:繼承 Thread 類別實作簡易多線程範例
建立執行緒最直覺的方式是繼承 java.lang.Thread 並覆寫 run() 方法。本文以 SimpleThread 為例,示範如何啟動多條執行緒並觀察其
Java 多線程打造響應式用戶界面:從 Counter1 到 Counter2 的演進
在開發圖形用戶界面(GUI)應用程式時,最常見的痛點莫過於「界面凍結」。當主執行緒被長時間運算佔用時,使用者點擊按鈕、拖動視窗都不會有任何反應。本文將透過 Co
Java 日期時間選擇器元件:DateChooserJButton 完整原始碼與架構解析
元件特色 繼承 JButton,點擊彈出日期時間選擇對話框。 支援年/月/時三級選擇,內建當日高亮、週末紅色標示。 相容 Application 與 Appl
Runnable 介面讓主類變身執行緒:Counter3 範例解析
核心概念 將主程式類實作 Runnable 介面,而非繼承 Thread,實現「主類即任務」的合併模式。Runnable 僅定義 run() 方法,**不具備執
Java 多執行緒建立進階:Thread 繼承模式封裝獨立計數器元件完整範例
多執行緒封裝設計模式 將執行緒邏輯、UI 元件與狀態封裝於單一類別,支援建立任意數量獨立運作的執行緒實例。本範例展示每個計數器擁有專屬按鈕、顯示欄位與執行緒控制
Java 守護執行緒詳解:後台服務的正確姿勢
什麼是守護執行緒? 守護執行緒在程式運行期間於背景提供**通用服務**(如 GC、日誌清理、心跳監測),**不屬於程式核心部分**。其生命週期特性: 當所有*
Java 多執行緒資源共享陷阱:從錯誤範例看同步必要性
問題場景 每個執行緒擁有兩個計數器 count1、count2,在 run() 中依序遞增並顯示。邏輯上它們應始終相等,但引入 Watcher 監視執行緒後,卻