大型桌面應用開發常以原型起步,三大核心理由:
**桌面圖片註解工具**:Email 雖為主流協作工具,但截圖加註 (畫線、矩形、橢圓、文字) 能大幅提升溝通效率。跨平台需求 (Windows/Mac/Linux 混合團隊) 讓 Java 成為自然選擇。
介面極簡:工具列 + 繪圖區 (圖 1),足以驗證核心功能。


Main 類別MainFrame (主視窗)、MainPanel (基於 JDesktopPane)、NoteFrame (基於 JInternalFrame 文字註解)PaintView (繪圖元件)、PaintModel (資料模型)、ToolBarBuilder (工具列建構器)ResourcesSupport (處理 ToolBarResources.properties 與圖示)實作 main(),所有類別/資源打包為 JImaging.jar:
jar cfm JImaging.jar m.txt com
com 目錄含套件類別、.properties、.gif 圖示m.txt 指定主類別:Main-Class: com.devsphere.articles.desktop.Mainjar 工具自動生成 META-INF/MANIFEST.MFpackage 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
支援格式:讀取 GIF/JPEG/PNG,**寫入僅限 JPEG/PNG** (GIF 不支援寫入)。