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

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

为什么要建造一个原型?

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

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

用户需求

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

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

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

包和类

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

时间: 2024-10-31 10:03:07

搭建Java桌面应用程序原型(一)的相关文章

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

设置系统外观 下面的setSystemLookAndFeel()方法调用了javax.swing.UIManager类的setLookAndFeel()方法: 它要求Swing从默认的Metal外观转换为本地外观: private void setSystemLookAndFeel() { try { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch (UnsupportedLookAndF

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

做技术决定 在开发过程中,我不得不去解决一些技术问题并且要做一些技术决定.下面的代码片段仅仅简单的进行了解释,但是他们将在我以后的文章中被详细描述.在这里重要的是去理解原型充当的角色.用你的原型去寻找技术问题的解决方案,去测试不常用的APIs,并且保证你的应用程序的性能. 用多层Panels 构建一个例如windows中的画板的图形应用程序不是非常复杂的任务.你必须处理鼠标事件.画线.画矩形和画椭圆.还要处理变形功能,比如从一个基础应用程序到一个专业级的图形编辑器要具有对图片的移动,缩放,重新排

Java桌面应用程序开发简介

Java对于服务器,个人电脑和移动设备来说是一项伟大的技术.由于需要java的跨平台的特性,因此java在服务器和移动设备方面的应用是非常成功的.但java在个人电脑应用方面的情况和在服务器及移动设备方面的应用有所不同,但是这很快就会有所改变,至少比你想象得要快.在这篇文章中,我会分析一下java在桌面环境中的应用将怎样得到提升,然后具体说一下java GUI(用户图形接口)的三个主要的工具:AWT, Swing, 和SWT..在下文中,我将会开发一个完整的java桌面应用程序. Java与桌面

通过实例学习NetBeans 6的新功能 第2部分:Java桌面应用程序

■ NetBeans 6.0 为 Java 提供的新功能和扩展功能 NetBeans 6.0 提供了众多新功能和扩展功能,众所周知的 GUI 设计器(Matisse 项目)也从 5.5 版本开始得到了极大的增强.此外,由 于整合了 Profiler, 5.5 版也变得更加容易使用.下表列出了 Java SE 的新功能和扩展功能. GUI 设计器 自动国际化功能 Java 6 界面 支持 L&F 上下文帮助 使用语言指令高亮字体 支持 JSR-296 Swing 应用程序框架 支持 JSR-295

创建一个Java应用数据库的桌面应用程序

本教程将展示如何创建一个 Java 的桌面应用程序,用来访问以及更新数据库.本教程利用 NetBeans IDE 6.0 支持的以下技术: Java 持久化 API (JPA),帮助你使用Java 代码来与数据库接合 Beans 绑定技术 (JSR 295) ,为不同的JavaBeans 控件提供一种方式来相互同步属性值.举一个例子, 你可以使用 Beans 绑定技术来保持 JTable 可视化控件中各单元的值与实体类中各域的值同步.(在这里,实体类表示数据表) Swing 应用程序框架 (JS

结合BeautyEye开源UI框架实现的较美观的Java桌面程序

BeautyJavaSwingRobot 结合BeautyEye开源UI框架实现的较美观的Java桌面程序,主要功能就是图灵机器人和一个2345网站万年历的抓取.... 挺简单而且实用的一个项目,实现出来的效果也还不错.希望可以学到知识的小可爱不对应该是帅哥,可以给我star...共勉 , github(gayhub更准确?)项目地址 https://github.com/Snailclimb/BeautyJavaSwingRobot 1,效果图: 主要界面图 机器人效果图 身份证查询效果图 2

用java写的桌面应用程序,文字显示不正常!!求助

问题描述 用java写的桌面应用程序,文字显示不正常代码上传到了网盘:http://pan.baidu.com/s/1hqkVmuw 解决方案 解决方案二:sun公司早就放弃了桌面编程的市场了,你还学?学了也没人用的,放弃吧,学点Javaweb才是java的强项解决方案三:Swing作为兴趣来耍耍还行,你如果以后要找这方面工作的,建议脱坑解决方案四:java中的GUI编程已经过时了,不过在其版本的教材中还是有专门章节的,学的时候简单的了解一下就下,有更好的界面设计语言,可以做出非常漂亮的界面,而

如何用java快速开发桌面应用程序?

问题描述 对于java的桌面应用程序开发,确实是一件很悲剧的事情,因为java开发的桌面程序界面很难控制.本人曾经用过两种方法开发桌面程序:1.纯代码版的swing开发2.matisse直接拖界面和.NET与VB差不多.第一种方法开发的速度相当的慢,第二种要快一些.但是对于我们习惯了WEB开发的程序员来说,用这两种方法开发的程序,开发速度和效果都感觉无法令人满意.于是我想到了用HTML开发界面...这样岂不是又快有好.目前我的构想是这样:java做主要逻辑处理,webkit做界面渲染,用一个si

Java桌面数据库应用程序移植到其他电脑引起的诡异异常

问题描述 我是一名java初学者,近期用netbeans6.5+sqlserver2000开发了一个带有数据库Java的桌面应用程序,该软件经过调试,在我电脑上运行正常.我的初衷是在其他电脑不装sqlserver的情况下,直接从我电脑数据库读取信息.但是当我把这个软件放到其他电脑上的时候,提示如下异常:D:VEdist>java-jarve.jar[TopLinkInfo]:2009.07.2609:53:12.099--ServerSession(1583057)--TopLink,versi