回到顶部
您的当前位置: 编程语言> JAVA> JAVA基础> 系列教程
Java基础(二十三)创建图形用户界面
2014-03-28 09:39:44
标签: 网络整理 Java 基础 创建图形用户界面

图形用户界面(GUI)可以使系统对用户更友好且更易于使用。

一:按钮

按钮是点击时触发动作事件的组件。Swing提供了常规按钮、开关按钮,复选框按钮和单选按钮。这些按钮的公共特性在javax.swing.AbstractButton中定义。

图标、按下图标和翻转图标:

每个常规按钮都有一个默认图标、一个按下图标和一个翻转图标。通常使用的是默认图标。其他的图标是为了显示特殊效果。当按下一个按钮的时候,显示按下图标,当鼠标移到按钮上而不按下时,显示翻转图标。

对齐方式:

1)水平对齐

指定以什么样的水平方式在按钮上放置图标和文本。可以使用五个常量LEADING、LEFT、CENTER、RIGHT和TRAILING之一作为参数调用setHorizontalAlignment(int)方法来设置水平对齐方式。

默认的水平对齐方式是SwingConstants.CENTER。

2)垂直对齐

指定以什么样的垂直方式在按钮上放置文本和图标。可以使用三个常量TOP、CENTER和BOTTOM之一作为参数调用setVerticalAlignment(int)方法设置垂直对齐方式。

默认的垂直对齐方式是SwingConstants.CENTER。

文本位置:

1)水平文本位置

指定文本相对于图标的水平位置。可以使用五个常量LEADING、LEFT、CENTER、RIGHT和TRAILING之一作为参数调用setHorizontalTextPosition(int)方法来设置水平对齐方式。

默认的水平文本位置是SwingConstants.RIGHT。

2)垂直文本位置

指定文本相对于图标的垂直位置。可以使用三个常量TOP、CENTER和BOTTOM之一作为参数调用setVerticalTextPosition(int)方法设置文本的垂直位置。

默认的垂直文本位置是SwingConstants.CENTER。

使用按钮:

1)创建用户界面

2)处理事件

二:复选框

一个开关按钮就像是电灯开关一样会有两种状态。JToggleButton类继承AbstractButton并实现了一个开关按钮。通常,使用JToggleButton的子类JCheckbox和JRadioButton让用户在开或关这两种状态之间进行选择。

下面是一个复选框的例子,文本是Student,前景色为红色,背景色为白色,热键是'S',而初始状态为选中的。

JCheckbox jchk = JCheckbox("Student", true);
jchk.setForeground(Color.RED);
jchk.setBackground(Color.WHITE);
jchk.setMnemonic('S');
三:单选按钮

单选按钮也称为选项按钮,它可以让用户从一组选项中选择一个单一的条目。从外观上看,单选按钮类似于复选框。不过不管选中与否,复选框都是方形的,而单选按钮都是圆的,不论它是填充的(选中时)还是空白的(为选中时)。

下面是一个单选按钮的例子,文本是Student,前景色为红色,背景色为白色,热键是'S',而初始状态为选中的。

JRadioButton jrb = JRadioButton("Student", true);
jchk.setForeground(Color.RED);
jchk.setBackground(Color.WHITE);
jchk.setMnemonic('S');
四:文本域

文本域可用于输入或显示一个字符串。

标签:

标签是一个显示小段文字、一幅图像或同时显示两者的区域。它经常用来给其它组件(通常为文本域)做标记。

JTextField类继承JTextComponent类,而JTextComponent类继承JComponent类。下面是创建一个文本域的例子,它的前景色为红色,对齐方式为水平向右对齐方式:

JTextField jtfMessage = new JTextField("T-Strom");
jtfMessage.setForeground(Color.RED);
jtfMessage.setHorizontalAlignment(SwingConstants.RIGHT);

五:组合框

组合框也称为选择列表或下拉式列表,它包含一个条目列表,用户能够从中进行选择。使用它可以限制用户的选择范围,并避免对输入数据有效性进行繁琐的检查。

下面的语句创建一个有四个条目的组合框,前景色为红色,背景色为白色,然后选中第二条目:

JComboBox jcb = new JComboBox(new Object[]
{"Item 1","Item 2","Item 3","Item 4"};
jcb.setForeground(Color.red);
jcb.setBackground(Color.white);
jcb.setSelectedItem("Item 2");

列表框:

列表框是一个组件,它完成的功能与组合框基本相同,但它允许用户选择一个或多个值。Swing组件JList的功能非常丰富。

下面的语句创建有6个条目的列表框,前景色为红色,背景色为白色,选定单元格的前景色为粉色,选定单元格的背景色为黑色,可见行数为4行。

JList jlst = new JList(new Object[]
{"Item 1","Item 2","Item 3","Item 4","Item 5","Item 6"};
jlst.setForeground(Color.RED);
jlst.setBackground(Color.WHITE);
jlst.setSelectionForeground(Color.PINK);
jlst.setSelectionBackground(Color.BLACK);
jlst.setVisibleRowCount(4);

滚动条是一个允许用户从一个值得范围中进行选择的组件。

六:创建多个窗口

新开的窗口称为子窗口,而主框架称作主窗口。

1)为一个名为MultipleWindowsDemo的框架创建一个主类。

2)创建一个名为Histogram的JPanel类的子类。

3)实现MultipleWindowsDemo中的actionPerformed处理器。