国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

搭建Java桌面應用程序原型(一)

2019-11-18 13:51:28
字體:
來源:轉載
供稿:網友

  在這篇文章里,我將描述一個java桌面應用的原型,我把它叫做JImageing。我打算把焦點集中在應用的框架上,解釋我怎么做技術上的決定和我怎么解決在開發過程中出現的問題。

  為什么要建造一個原型?

  很多應用程序的開發都是由于幾個原因從一個原型開始的。這些原因中的第一條就是,你必須確定用現有的技術能夠滿足用戶的需求。例如,在不用本地代碼的Swing應用程序中Windows集成不能夠被實現,這就導致喪失了一些Java跨平臺的優勢。SWT提供了一個和操作系統有限制的集成,這就答應你在很多本地平臺上運行同一應用程序。在很多場合,J2SE平臺提供給你需要搭建復雜桌面應用程序的豐富性能。在搭建大型Java桌面工程之前,你總是應該搭建一個原型去看J2SE是否滿足應用程序的需求。

  另一方面證實你的想法能夠被實現并且你的技術決定是正確的,一個原型能夠在開發過程中盡早的獲得用戶的反饋。原型也能幫助你估計完成你的工程所需要的時間和資源。花大量的工作去搭建一個有著菜單,對話框,拖拽特性、剪切版支持、恢復治理、打印等功能的用戶接口。在開始這些工作之前,你應該知道搭建應用程序核心功能有多困難。假如你不得不用第三方自定義組件,你應該測試他們看看是否能和你的原型一起工作。假如你不得不解決擴展和性能問題,你應該通過原型狀態找到解決方案。

  用戶需求

  JImageing原型是一個桌面應用程序,這個應用程序答應你給圖片注釋。Email可能是最流行的“協作工具”,但是可以通過圖片工具提高在截圖上做注釋的能力,這種圖片工具可以讓你畫線,畫矩形、橢圓并且可以寫注釋信息在圖片上。

  假如JImageing的用戶使用一個以上的操作系統,那么對于這樣的一個應用程序Java是很自然的選擇。當Windows支配桌面市場的時候,有一些用戶選擇Mac或者linux。例如,當Java開發者通過互聯網對一個項目進行合作的時候,有一可能性是他們可以不用同一種操作系統。

  這個用戶接口非常簡單,它包括一個工具欄和一個畫圖區。對于測試應用程序的主要功能來說足夠用了。下圖顯示了這個接口的樣子:

搭建Java桌面應用程序原型(一)(圖一)
包和類

  下圖顯示了原型代碼結構。應用程序的最頂層的包僅僅包含Main類,下段再具體介紹這個類。我將要描述在將來文章中可能用到的其他類。

搭建Java桌面應用程序原型(一)(圖二)

  frames包囊括了描述應用程序主框架類,基于JDesktopPane的主要panel,和基于JInternalFrame文字注釋類。這三個類被命名為MainFrame, MainPanel和NoteFrame。

  paint包組織了PaintView組件和它的數據模型(被命名為PaintModel),還有ToolBarBuilder類,這個類創建應用程序的工具欄。tools子包有繪制圖象對象的工具類。

  resources包中的ResourcesSupport類是處理ToolBarResources.PRoperties資源和來自images目錄中的圖標的工具類。

  The Main Class

  這個類實現了應用程序的main方法并且和所有的類、資源打包成一個JAR文件,這個JAR文件命名為JImageing.jar。用下面的命令進行打包:

  jar cfm JImaging.jar m.txt com

  com目錄包含包里的類,.properties資源和.gif圖標。

  m.txt文件用Main-Class: com.devsphere.articles.desktop.Main簡要說明了應用程序的主要類。

  jar工具拷貝m.txt文件到在JImageing.jar中自動創建的META-INF/manifest.mf文件。

  下面是Main的主要聲明描述:

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;
  main()方法調用Main()構造器,設置外觀,創建主要窗口然后顯示它:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安国市| 繁峙县| 界首市| 淅川县| 洮南市| 龙川县| 福清市| 鸡东县| 壤塘县| 磴口县| 汉源县| 喀什市| 肃南| 望城县| 汤阴县| 茂名市| 寻乌县| 东港市| 磴口县| 云安县| 平谷区| 台安县| 高清| 河池市| 游戏| 克山县| 安义县| 佛坪县| 和龙市| 阳西县| 涟源市| 南川市| 水富县| 嘉黎县| 沙坪坝区| 萨迦县| 二手房| 苏尼特左旗| 东港市| 洛阳市| 从江县|