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

打造 Java 桌面應用原型 (一):架構設計、封裝部署與需求分析

     編輯:Java 相關知識

前言:為何從原型開始?

大型桌面應用開發常以原型起步,三大核心理由:

  1. 技術可行性驗證:確認現有技術 (J2SE/SWT) 能滿足需求。如 Swing 無法實現 Windows 深度整合 (犧牲跨平台),SWT 提供有限原生整合。原型階段即可證明 J2SE 豐富 API 足支撐複雜桌面應用。
  2. 早期用戶回饋:原型驗證想法可行性、技術決策正確性,並盡早獲得用戶反饋。
  3. 資源估算:UI 建置 (選單、對話框、拖放、剪貼簿、復原、列印) 工作量驚人。原型先攻克核心功能難度,再評估週邊功能成本。若需第三方元件、擴展性/效能調優,原型階段即可探索方案。

JImaging 產品需求

**桌面圖片註解工具**:Email 雖為主流協作工具,但截圖加註 (畫線、矩形、橢圓、文字) 能大幅提升溝通效率。跨平台需求 (Windows/Mac/Linux 混合團隊) 讓 Java 成為自然選擇。

介面極簡:工具列 + 繪圖區 (圖 1),足以驗證核心功能。

套件與類別架構

  • com.devsphere.articles.desktop (頂層) - Main 類別
  • frames - MainFrame (主視窗)、MainPanel (基於 JDesktopPane)、NoteFrame (基於 JInternalFrame 文字註解)
  • paint - PaintView (繪圖元件)、PaintModel (資料模型)、ToolBarBuilder (工具列建構器)
  • paint.tools - 繪圖工具類別群
  • resources - ResourcesSupport (處理 ToolBarResources.properties 與圖示)

Main 類別:應用程式入口與封裝

實作 main(),所有類別/資源打包為 JImaging.jar:

jar cfm JImaging.jar m.txt com
  • com 目錄含套件類別、.properties、.gif 圖示
  • m.txt 指定主類別:Main-Class: com.devsphere.articles.desktop.Main
  • jar 工具自動生成 META-INF/MANIFEST.MF

主要宣告與啟動流程

package com.devsphere.articles.desktop;
import com.devsphere.articles.desktop.frames.MainFrame;
import com.devsphere.articles.desktop.frames.MainPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.util.logging.Logger;

public class Main {
    private String args[];
    private MainFrame mainFrame;
    private MainPanel mainPanel;

    private Main(String args[]) { this.args = args; }

    public static void main(String args[]) {
        Main main = new Main(args);
        main.setSystemLookAndFeel();  // 設定原生外觀
        main.createFrame();           // 建立主視窗
        main.showFrame();             // 顯示並進入事件迴路
    }
    // ... 具體方法見第二、三部分
}

命令列參數規範

java -jar JImaging.jar sourceImage annotatedImage
  • 參數 1 (必填):源影像路徑,載入為背景
  • 參數 2 (選填):輸出路徑,儲存含註解影像

支援格式:讀取 GIF/JPEG/PNG,**寫入僅限 JPEG/PNG** (GIF 不支援寫入)。

系列文章導覽

  • 第一部分 (本文):架構設計、封裝部署、需求分析、Main 類別
  • 第二部分:系統外觀、主視窗生命週期、影像 IO 實作
  • 第三部分:關鍵技術決策 (多層面板整合 Swing、繞過 paint() 即時繪製)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved