Java图形处理及Struts应用设计技巧

日期: 2012-08-08 来源:TechTarget中国 英文

  Java是一种优秀的面向对象语言,它的目的是为了满足在复杂的网络环境中开发软件。在这种复杂的网络环境中,充满着各种各样的硬件平台和不同的软件环境,而Java语言就是针对这种复杂的平台环境设计的,使用Java语言可以开发出适应这种复杂网络环境的应用环境。

  在目前的软件开发中,尤其是应用系统的开发中,Java语言成为大部分开发人员的选择,经常会有用户自己提出要使用Java语言进行开发,可见Java语言的发展已经深入人心。下面是小便为用户整理的一些Java开发中的技巧盘点。

  图形编程:事件模型与事件处理

  对于图形编程来说,如何处理鼠标及键盘的点击及输入等动作时间是非常重要的。只有掌握了事件处理编程,才能算是真正接触到了图形编程,,在本文中将重点分析Java中的时间模型与事件处理。

  事件处理基础

  事件处理与我们平时所操作的Windows界面系统一样,需要不断的点击鼠标与按下键盘,系统或者程序会根据我们按下不同的按钮或者输入不同的内容而执行不同的任务。

  一个图形界面系统或者是一个图形应用程序,需要与用户进行不断的交互,也就需要程序不断地监听用户的各种动作,接着程序会根据这些动作相应处理的结果。

  事件源与事件

  当在一个用户界面点击鼠标或者按下键盘时,都是针对于具体的组件而发生的动作,如按下鼠标时,点击一个按钮;按下键盘时会向一个文本框输入内容。在这个过程中,我们把动作所操纵的对象或者说是空间成为事件源,如按钮、密码输入域、进度条等。当针对于每一个事件源发生一个动作时,就会产生一个事件。

  时间是一个比较抽象的内容,很难用具体的语言来表述。为了理解方便,你可以将事件作为一种消息来理解,当按下一个yellow按钮时,yellow按钮是事件源,而产生的事件就是“用户按下了yellow按钮”。而当我们用鼠标调整一个组件的大小时,事件源就是被调整的组件,而产生的事件就是“用户调整了组建的大小”。这些事件会被事件源传送给事件监听器。

  由于Java是面向对象的编程语言,所有的内容都是对象,那如何去定义这些消息呢?在Java中所有的事件都是被封装在实践对象中,所有的事件都是从java.uitl.EventOject类派生出来的。所有的事件都是位于java.awt.event包中,在这个包中定义了Java中所有可能遇到的事件,当然每一个事件类型都是一个子类,如按下yellow按钮能产生一个ActionEvent事件,这个事件就封装了“用户按下了yellow按钮”这样的消息。

  每种类型的事件类名都是以XXXEvent命名的。如ActionEvent、AdjustmentEvent、ItemEvent。

  应用Struts创建JSP页面

  Struts是Apache基金组织的一个开源项目,它是对经典设计模式MVC的一种实现。Struts为Web应用提供了通用的框架,可以让开发人员专注于解决实际的业务逻辑,采用Struts可以很好滴实现代码重用,使开发人员从繁琐的工作中解放出来,从而可以快速开发出具有很强扩展性的Web应用程序。

  目前,Struts已经成为Web开发中MVC模式的实施标准,大量的Web应用开发都选择使用Struts实现MVC模式。

  随着Web开发技术的日益成熟,在Web开发领域总出现了许多软件开发框架,Struts就是一种基于MVC经典设计模式的框架,也是目前Web开发中比较成熟的一种开发框架。下面展示一个简单地Struts应用程序,让用户了解Struts处理用户请求的具体流程。

  //文件名:helloWorld.jsp
  Hello

  关于类设计技巧的四点建议

  在Java面向对象编程的过程中,类的设计是一个很有挑战性的工作,不同的人可能对于类的理解不一样,设计出来的类也可能不一样,小编总结出以下几点关于类设计方面的建议供开发人员参考。

  1.永远保持数据私有

  保持数据的私有是设计类时,必须重点考虑的问题。保持私有的数据有利于封装。虽然为了保持数据的私有,需要编写设置器与访问期,但这比起不是数据私有要安全的多。

  2.永远初始化数据

  Java不提供对本地变量的初始化,但它会初始化对象中的实力字段。沃恩在设计类时尽量不要依赖于系统的默认值,最好明确的初始化变量。可以通过赋值或构造器对变量进行初始化。

  3.不要在一个类中使用太多的基本类型

  把相关的基本类型利用封装的功能,设计成一个单独的类;在引用时也同样尽量使用一个单独的类封装同一功能的类似字段。这样做的结果可以使类更易于理解和修改。

  例:在一个类中需要引入人的某些属性

  Private String peopleName;
  Private String peopleSex;
  Private String peopleBirthday;

  在正中情况下,我们可以设计一个People类来实现这些字段的封装,在新设计的类中,我们只需要一个类的实例:

  People aPeople = new People();

  就可以得到相关的属性值。

  4.尽量使类的功能单一化

  这句话很难用一句明确的语言来形容,什么样的类是功能单一的呢?沃恩可以这样理解,例如设计一个类时,尽量不要将太多的功能放到一起。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐