图形用户界面

时间:2023-01-27 15:33:39

Java API中提供了两套组件用于支持编写用户界面,包括AWT和Swing

AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。

Swing是一个用于开发Java应用程序用户界面的开发工具包。
以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event。
 
Java使用事件委托模型来处理事件:事件源触发一个事件,但是事件源本身并不处理该事件,而是委托给对该事件有兴趣的对象来处理,这个就叫监听器,
 
AWT提供了JavaApplet和Java Application中可用的用户图形界面GUI中的基本组件(components)。由于Java是一种独立于平台的程序设计语言,但GUI却往往是依赖于特定平台的,Java采用了相应的技术使得AWT能提供给应用程序独立于机器平台的接口,这保证了同一程序的GUI在不同机器上运行具有类似的外观(不一定完全一致)。
Java1.0的AWT(旧AWT)和Java1.1以后的AWT(新AWT)有着很大的区别,新的AWT克服了旧AWT的很多缺点,在设计上有较大改进,使用也更方便,这里主要介绍新的AWT, 但在Java1.1及以后版本中旧的AWT的程序也可运行。
 
监听器:ActionListener
方 法:actionPerformed
事 件:ActionEvent
● String getActionCommand()
actioncommand是控件内部的一个字符串,用于标识控件的状态。
此函数可以取得控件的状态,从而决定到底该做什么。
● int getModifiers()
取得“产生此事件时,用户同时按下的组合键”
● long getWhen()
取得“产生此事件时的时间戳”
事件产生原因:点击按钮,在列表框中选择内容,在文本框中点回车,计时器到期
监听器:AdjustmentListener
方 法:adjustmentValueChanged
事 件:AdjustmentEvent
● Adjustable getAdjustable()
adjustable是一个接口,各种滚动条都实现了这个接口。
● int getAdjustmentType()
取得滚动类型,共有UNIT_INCREMENT,UNIT_DECREMENT,BLOCK_INCREMENT,BLOCK_DECREMENT,TRACK共5种类型
● int getValue()
取得滚动滑块的当前值
事件产生原因:滚动条的滚动
监听器:ItemListener
方 法:itemStateChanged
事 件:ItemEvent
● Objedt getItem()
取得被选中的元素。注意,返回值是Object,还应该进行强制类型转换。
● ItemSelectable getItemSelectable()
ItemSelectable是一个接口,代表那些包含了n个可供选择的子元素的对象。此方法返回产生此事件的对象。此方法的作用主要在于,如果一个列表框是允许多选的,那么上面的方法就不好用了,应该用此方法得到列表对象,再取得被选中的多个元素。
● int getStateChange()
取得选择的状态,是SELECTED还是DESELECTED
事件产生原因:各种按钮的点击,列表框的选择
监听器:FocusListener
方 法:focusGained、focusLost
事 件:FocusEvent
● Component getOppositeComponent()
得到“参与焦点变换的”另一个对象。如果是焦点取得事件,则返回之前拥有焦点的对象;如果是焦点失去事件,则返回得到焦点的对象。若焦点转移到另外一个应用程序,返回null
● boolean isTemporary()
焦点是临时性转移还是永久转移。临时性转移:用鼠标拖动窗口或者窗口变为非激活状态。其他为永久性转移。
事件产生原因:各种组件的焦点变化