您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> JAVA >> 辅导 >> 正文    
  搭建Java桌面应用程序原型(一) 【注册男护士专用博客】          

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

www.nanhushi.com     佚名   不详 

  在这篇文章里,我将描述一个Java桌面应用的原型,我把它叫做JImageing。我打算把焦点集中在应用的框架上,解释我怎么做技术上的决定和我怎么解决在开发过程中出现的问题。

  为什么要建造一个原型?

  很多应用程序的开发都是由于几个原因从一个原型开始的。这些原因中的第一条就是,你必须确定用现有的技术能够满足用户的需求。例如,在不用本地代码的Swing应用程序中Windows集成不能够被实现,这就导致丧失了一些Java跨平台的优势。SWT提供了一个和操作系统有限制的集成,这就允许你在很多本地平台上运行同一应用程序。在很多场合,J2SE平台提供给你需要搭建复杂桌面应用程序的丰富性能。在搭建大型Java桌面工程之前,你总是应该搭建一个原型去看J2SE是否满足应用程序的需求。

  另一方面证明你的想法能够被实现并且你的技术决定是正确的,一个原型能够在开发过程中尽早的获得用户的反馈。原型也能帮助你估计完成你的工程所需要的时间和资源。花大量的工作去搭建一个有着菜单,对话框,拖拽特性、剪切版支持、恢复管理、打印等功能的用户接口。在开始这些工作之前,你应该知道搭建应用程序核心功能有多困难。如果你不得不用第三方自定义组件,你应该测试他们看看是否能和你的原型一起工作。如果你不得不解决扩展和性能问题,你应该通过原型状态找到解决方案。

  用户需求

  JImageing原型是一个桌面应用程序,这个应用程序允许你给图片注释。Email可能是最流行的“协作工具”,但是可以通过图片工具提高在截图上做注释的能力,这种图片工具可以让你画线,画矩形、椭圆并且可以写注释信息在图片上。

  如果JImageing的用户使用一个以上的操作系统,那么对于这样的一个应用程序Java是很自然的选择。当Windows支配桌面市场的时候,有一些用户选择Mac或者Linux。例如,当Java开发者通过互联网对一个项目进行合作的时候,有一可能性是他们可以不用同一种操作系统。

  这个用户接口非常简单,它包括一个工具栏和一个画图区。对于测试应用程序的主要功能来说足够用了。下图显示了这个接口的样子:

  包和类



  下图显示了原型代码结构。应用程序的最顶层的包仅仅包含Main类,下段再详细介绍这个类。我将要描述在将来文章中可能用到的其他类。


  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()构造器,设置外观,创建主要窗口然后显示它:

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

  J2SE能够加载GIF,JPEG和PNG文件,但是它仅仅能保存JPEG和PNG格式的图片。你可以不用GIF格式去保存注释过的图片。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。