loading请求处理中...

Java桌面应用程序开发注意事项

2021-12-01 09:10:41 阅读 10826次 标签: java开发基础java游戏开发 作者: anyi
    由于Java语言含有各种优点,因此Java语言常用来编写应用程序和电脑游戏,Java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面应用程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java桌面应用程序开发是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。下面一品威客网就为您介绍Java桌面应用程序开发注意事项:
Java桌面应用程序开发注意事项
    1、灵活区分前后台工作及引进线程技术
    桌面应用程序中要进行各种处理工作,有些时候并不需要用户等待某个事件完成之后才能继续其它的操作,这样就可以新开单独的线程进行相关的处理,而用户可以在界面上继续操作。尽量不要造成用户需要继续操作而界面像是资源不足一样地不响应任何事件。

    2、层次清晰的控制框架是必要的
    很多软件上的优秀的程序开发思想都要引进到桌面应用程序开发中来,比如MVC模型,讲究将界面呈现和逻辑处理分离开来。在JDK的基础类库中某些包也引进来这种模型,但事实上整个程序的控制结构也需要引进这种思想。如果没有这种概念,就会导致类似这样的现象:在每个显示组件比如按钮的相关激发事件如鼠标单击事件中填写了大把的逻辑处理代码,不但组件开发者自己可能难以驾驭,而且给工程的维护上带来麻烦,在有些情况下甚至变得非常混乱,比如这个组件的状态改变会影响到软件窗口的另外一个组件的改变,这样处理起来就变得十分麻烦,实际上麻烦可能不止这些,两个组件的开发者不是同一个人,需要互相交流,甚至预计不到以后又会在哪个版块添加受此影响的组件!如果引进好的控制框架,部署相关的实现了控制器和数据处理接口的模块,由统一的控制器来处理及分发事件,而各个经过封装的显示组件均可实现了视图组件的相关接口,比如接受状态改变的方法receive(Event),当接受到某种事件后做出相应的变化。同时显示组件可以利用send(Event)方法将必要的自身状态变化信息交给控制器处理。这样的程序控制思想上类似于WEB开发中的Struts技术,只是有些区别并且没那么复杂,桌面应用程序有自身的一些特性,比如在这里控制器可以准确地将某个事件发送到指定的组件,因为处于同一个虚拟机,显示组件可以根据ID注册到控制器。

    3、简便灵活的应用交付
    因为是桌面应用程序,在交付给用户使用时一定要有简便灵活性。我们不能指望每个应用程序都像部署服务器端的应用那样到客户现场去安装运行环境,安装数据库,设置环境变量等等,那样软件就会让用户生厌没有生命力了。首先必须有简单的安装程序,安装程序必须包含两个独立的部分,安装Java运行环境和安装应用程序本身,这样可以根据用户的机器上是否有Java运行环境来决定是否安装该环境。安装程序是一个方面,这个可以通过各种第三方软件制作。但是安装后的运行牵涉到很多问题,CLASSPATH及其它环境变量的设置,资源文件的加载,目标数据的定位等等,还有用户可能不是直接点击程序执行而是激发的快捷方式,这样也会引起相关的路径问题。个人认为用Jar压缩包的形式交付应用程序比较好,将各种必要的配置文件都打包到一起,同时方便java,javaw或者其它的exe文件调用执行,在进行文件关联的时候不会出现命令窗口,当然这个有其它相关方式解决,但是更重要的是可以把各种资源文件绑到一起,不用担心classpath等问题,这个方面可以参考ONE-JAR技术,是一个很好的解决方案,就是将应用程序和其它类的jar文件制作成为特定结构的Jar。另外,任何情况下都可以通过System.getProperty(“system.class.path”)来得到唯一的应用程序所在的绝对路径确定资源位置。

    4、数据驱动的版面布局和显示
    桌面应用跟WEB应用相比较而言外观版面的控制上比较简单一点,这样也就更加便于通过配置文件来影响程序界面的布局风格等。这样使得软件的控制上变得灵活,因为配置文件比硬编码要灵活很多,至少无需编译,而且便于理解和维护。举个例子,如果我要开发一个IDE的开发环境,在界面的左边会显示工具属性栏,在工具的右边显示相关的表单,但是做好后别人看了却说更喜欢属性栏在右边,那边如果这个左右布局是由配置文件决定的,那么改动起来比较容易。同样,诸如菜单项的生成也可以根据配置文件来进行。另外相关的字体设置等也可以在配置文件中指定。

    5、尽量使用较新的界面设计开发包
    传统的AWT有很大的局限性,所以在采用界面组件API方面,我想应该尽量利用新出现的优秀的作品,比如布局管理器,在jdk1.4之后就出现了更方便的布局管理器比如SpringLayout,另外市面还有很多其它的公司开发的用来进行界面开发的开发包非常有用,都可以有效引进来,增强开发能力。个人认为不用太担心是否标准API问题,因为并不是商业逻辑组件,对于桌面应用来说这并不重要。

    6、统一的界面风格管理
    尽量不要在各个组件中各自实现某个特殊的“花样”,这样不利于软件的维护。在进行WEB开发的时候我们用到样式表来定义界面风格,在Java界面编程里面也有对应的事物,那就是UIManager—界面管理器,通过界面管理器可以定制界面风格,在JDK1.5里面,可以通过配置xml文件来制定界面风格,这就又证明了数据驱动界面是一个很好的做法。

    以上就是Java桌面应用程序开发注意事项,Java作为一种网络技术,为了在浏览器中能够运行小应用程序而发布,但是它从开始就有运行独立的桌面应用程序的能力。今天,Java有构建大型桌面端应用程序的能力并修复了bug。Java独有的优点是“只写一次,到处运行“——在Windows, Linux, Mac和其它操作系统上运行Java代码的能力。如果您正在为您的Java桌面应用程序开发而烦恼,那就到一品威客网请专业程序开发人才给您出谋划策吧!

公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论