Swing 的标签和按钮分别用Jabel和JButton类表示,它们是能够显示文本或图标的简单组件。
缺省时,标签没有边框,可以显示一个字符串、一个图标或同时显示字符串和图标。除了用于修饰文本域等不重要的小事情外,Swing的标签还能起到图像画布(显示一个图像的组件)的作用。由于AWT的图像不是组件,不能把它们添加到一个容器中。因此,使用AWT的开发人员实现了各种不同的图像画布类;然而,在Swing中,可以把JLabel类当作图像画布使用。
按钮大概是使用最为普遍的用户界面组件。按钮通常带有某种边框,且可以被鼠标或快捷键激活。Swing按钮比Swing标签要复杂得多,不仅因为能够激活它们来完成某个功能,而且很多其他Swing组件都是AbstractButton类的扩展,而 AbstractButton类是Swing按钮的基类。

1、JLable 与 JButton

  • 尽管JLabel与 JButton 的很多方法)具有完全相同的特征,但Jabel与JButton不是通过继承关系相联系的。
  • 尽管可以用非常相同的方式来操纵按钮和标签,但由于按钮和标签没有一个共同的基类,因此,不能用完全相同的方式来操纵它们。
  • 例如,用一个标签显示的文本与图标之间的间隔是可设置的,但这却不适用于按钮。
  • 同样,虽然按钮和标签都可以有一个不可激活的图标,但只有按钮可以有一个“滚过式”( rollover)图标,这种图标当光标进人按钮时才显示。

2、JLable

Swing的标签具有多种用途。例如,除了起到显示一个图标的作用外,标签还通常用来绘制Swing表格的单元格。

2.1 内容排列

由于水平和垂直排列的缺省值分别是SwingConstants. LEFT和 SwingConstants.CENTER,所以这个小应用程序把标签的水平排列值设置为SwingConstants. CENTER。

2.2 文本的位置

设置标签的水平和垂直文本位置属性

2.3 图标/文本间隙

设置标签中文本与图标之间的间隙

2.4 许可状态

就是设置禁用

2.5 JLabel属性

disabledlcon一一-标签被禁用时显示的图标。缺省时,禁用图标是标签图标的洗白版本,这个版本是用GrayFilter获得的。可以为标签的禁用图标指定一个不同的图标。
displayedMnemonic——设置labelFor属性后显示的助记符。
horizontalAlignment——标签内容(即标签的文本和图标)的水平排列方式。可能的值是JIabel .LEFT、JIabel.RIGHT和JIabel.CENTER。
horizontalTextPosition——文本相对于图标的水平位置;与水平排列方式的有效值相同。icon—–—标签在启用时显示的图标。
iconTextGap——一个标签的文本与图标之间的间隙,以像素点为单位。labelFor–一个组件,它在标签的助记符被键入时获得焦点。
text——一个标签显示的文本。
verticalAlignment-一个标签的内容的垂直排列方式。可能的值是JLabel.TOP、JLa-bel.CENTER 和JIabel . BOTTOM。
verticaTextPosition——文本相对于图标的垂直位置;与垂直排列方式的有效值相同。

2.6 JLabel事件

JLable类只激发属性变化事件

3、按钮

按钮是Swing 的重要组成部分;一方面,它们是简单的按压式按钮,而另一方面,它们又是Swing最重要的组成部分之一。
JButton类实现了按钮抽象,但它的功能几乎都是从 AbstractButton类继承的。JButton是八个扩AbstractButton的 Swing 组件之一。这些AbstractButton的扩展是:

JButton、JToggleButton、JCheckBox、JRadioButton、JMenultem、JMenu、JRadioButtonMenultem、JCheckBoxMenultem

另外,JButton还是很多类的超类,UI代表用这些类创建UI元素。例如,Motif 按钮和 Met-al组合框按钮都是JButton类的扩展。

4、JButton

JButton是一种按压式按钮,是java.awt . Button 的替代品。与Swing标签一样,JButton的实例能够显示一个文本或一个图标或同时显示两者。

与AWT按钮一样,当它们激活时,Swing 按钮激发动作事件。可以向一个按钮登记一个动作监听器。不论何时激活这个按钮,都调用这个监听器的actionPerformed 方法。
getActionCommand ()返回的字符串用于表示这个按钮;缺省时,getActionCommand ()返回这个按钮的文本。

4.1 属性

actionCommand——一个字符串,这个字符串标识与一个按钮相关的命令。缺省时,把一个按钮的动作命令设置为这个按钮的文本。
borderPainted——确定是否绘制一个按钮的边框。
defaultButton ——指示–个按钮是否是一个根窗格的缺省按钮。
defaultCapable ——指示一个按钮是否能作为一个根窗格的缺省按钮。
disabledlcon——当一个按钮禁用时显示的图标。缺省时,这个图标是该按钮的图标的灰色版本;但是,也可以显式地设置禁用按钮图标。
disabledSelectedIcon ——一这个属性未在Swing 1.1 FCS中使用。
focusPainted——一确定当一个按钮具有焦点时,是否绘制-个焦点指示标志。
horizontalAlignment ——一个按钮的内容(即它的文本和图标)的水平排列方式。可能的值是JButton. LEFT、JButton. RIGHT和JButton.CENTER。
horizontalTextPosition ——文本相对于图标的水平位置;有效值与水平排列方式的有效值相同。
icon——当启用–个标签时,这个标签显示的文本。
label—在–个按钮中显示的文本。这个 label属性已不再使用;可用text属性代替之。margin—-—一-个按钮的边框与其内容之间的间隙。
mnemonic ——用于激活一个按钮的键。
model——一个按钮的模型。缺省时,一个按钮的模型是一个 DefaultButtonModel实例。

Pressedlcon —当一个按钮按下时显示的一个图标。rolloverlcon—一当光标进入一个按钮时显示的一个图标。rolloverSelectedlcon -—这个属性目前未在Swing FCS 中使用。
selected——一这个属性是从 AbstractAction继承而来的,对JButton的实例没有意义。可以选用AbstractButton 的其他扩展;例如,当一个复选框打上了选中标志,它就是选取的。再比如,当一个菜单激活时,它就是已选取的。
text——在一个按钮中显示的文本。应该用text属性来替代过时了的 label属性。
verticalAlignment —一一文本相对于图标的垂直排列方式;其有效值与水平排列方式的有效值相同。
verticarTextPosition -—文本相对于图标的垂直位置;其有效值与垂直排列方式的有效值相同。

4.2 JButton事件

按钮的状态:待按下,启用,按下,进入,已选取

ActionListener与ActionEvent