教學目標與技術棧
本教學示範如何利用 NetBeans IDE 6.0 建立一個具備 CRUD(增刪改查)功能的 Java 桌面資料庫應用程式,並整合自訂元件進行資料視覺化。核心技術包括:
- Java Persistence API (JPA):以 Java 代碼操作資料庫。
- Beans Binding (JSR 295):自動同步 UI 元件屬性與實體類別欄位值(如 JTable 與 Entity 同步)。
- Swing Application Framework (JSR 296):提供快速建構桌面應用的基礎組件。
環境準備
建立資料庫與連線
- 確認 Java DB 已在 IDE 註冊(工具 > Java DB Database > 設定)。
- 啟動伺服器(工具 > Java DB Database > 啟動伺服器)。
- 建立資料庫
car_database,用戶/密碼均為 nbuser。
- 於服務視窗連線至
jdbc:derby://localhost:1527/car_database,執行 car.sql 匯入範例資料。
建立專案與主視窗
- 新增專案:Java Desktop Application > Database Application。
- 專案名
CarsApp,選擇資料庫連線與主資料表 CAR。
- 僅保留前 5 欄位(移除 SUN_ROOF 至 MODERNNESS)。
- 完成精靈,IDE 自動生成 UI、Entity Class、persistence.xml、Beans Binding 綁定邏輯。
驗證基本功能
- 執行專案,檢視表格資料、編輯儲存格、新增記錄、儲存至資料庫。
- 視窗位置/大小會自動記憶(Session 狀態持久化)。
- .properties 檔分離介面文字,利於本地化。
擴充 UI:加入 Slider 與 CheckBox
為最初排除的 4 個欄位添加直觀控制元件:
- Tire Size、Modernness:使用 JSlider。
- Sun Roof、Spoiler:使用 JCheckBox。
透過 GUI Builder 拖放排版,參考截圖調整對齊。
Beans Binding 綁定控制元件
- 右鍵 Slider > Bind > value,Binding Source 選
masterTable,Expression 選 selectedElement.tiresizenode / modernness。
- 右鍵 CheckBox > Bind > selected,Expression 選
selectedElement.spoiler / selectedRow.sunRoof。
執行驗證:調整 Slider、勾選 CheckBox,點擊儲存,資料庫值即同步更新。
整合自訂元件:CarPreview 汽車預覽圖
- 下載並開啟
CarPreview 專案,Build 產出 Bean。
- 從專案視窗拖曳
CarPreview.java 至表單,置於工具列下方。
- 同樣綁定其所有屬性至
masterTable.selectedElement 對應欄位。
最終執行畫面:切換列、調整控制項,預覽圖即時變化。
進階學習資源