首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

创设复杂的用户界面

2013-03-19 
创建复杂的用户界面创建复杂的用户界面Swing包含400多个不同的类,在这使其成为Java中最大的类库。其中的很

创建复杂的用户界面

创建复杂的用户界面

       Swing包含400多个不同的类,在这使其成为Java中最大的类库。其中的很多类可用之前介绍的技术来实现——所有Swing容器和组件由相同的超类,这使他们的行为相同。下面我们将介绍Swing程序中使用的其他组件。

1、滚动窗格

       要从组件的一部分移动到另一部分,可使用垂直和水平滚动条。在Swing中通过将组件加入到滚动窗格中来提供滚动功能。滚动窗格是一种容器,用Swing中的JscrollPane类表示,可以使用一下函数来创建:

       JscrollPane():创建必要时显示垂直和水平滚动条的滚动窗格;

       JScrollPane(int , int):创建包含指定的垂直和水平滚动条的滚动窗格;

       JscrollPane(Component):创建包含指定用户界面组件滚动窗格;

       JscrollPane(Component , int, int):创建包含指定组件以及垂直和水平滚动条的滚动窗格;

在构造函数中使用整型参数指定如何在窗格中使用滚动条,可使用下述变量作为参数:

       JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED或JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED

       JScrollPane.VERTICAL_SCROLLBAR_NEVER或JScrollPane.HORIZONTAL_SCROLLBAR_NEVER

       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS或JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS

       如果创建了没有包含组件的滚动窗格,可以使用窗格的add(Component)方法来添加组件。设置好滚动窗格后,应将其像组件那样加入到容器中。

       下面是一个使用滚动窗格的示例程序:



3、变更监听器

       为了监视用户使用滑块进行的输入,必须有实现ChangeListener接口的类,该接口位于javax.swing.event包中。该接口只包含一个方法,格式如下:

              Public voidstateChanged(ChangeEvent e){}

       调用滑块所属的容器的addChangeListener(Object)方法,可以讲对象注册为变更监听器,滑块移动停止后,将调用监听对象的stateChanged()方法。调用该对象的getSource()方法将获得滑块的焦点值。


       通过调用getValueIsAdjusting()判断滑块是否在移动。下面是一个通过3个滑块来改变颜色的示例,代码太多大家可以自行下载,地址为:http://download.csdn.net/detail/zhai56565/5151200下面是程序运行效果图:

创设复杂的用户界面

4、使用图像图标和工具栏

       为改善图形用户界面的视觉效果,最简单的一种方法是使用图标来标识按钮和界面的其他部分。为此可使用javax.swing包中的ImageIcon类来用图片标记组件。

       可以调用ImageIcon(String)函数使用计算机中的文件来创建ImageIcon。该方法的参数可以是文件名,也可以是文件的文职和名称,如下:

       ImageIcon imgIcn = new ImageIcon(“a1.png”);

       ImageIcon imgIcn2 = new ImageIcon(“images/a2.png”);

       用于创建图像图标的图形文件必须是GIF、JPEG或PNG格式。大多数为GIF格式,因为它非常适合用于显示只有几种颜色的小图形。

       下面是将图标用于标签和按钮之上:

       ImageIcon imageIcon1 = newImageIcon("src/guessyourchance/144001617112153.gif");

        JLabel label = new JLabel(imageIcon1);

        ImageIcon imageIcon2 = newImageIcon("src/guessyourchance/folder/a1.png");

        JButton button = newJButton(imageIcon2);

有些组件可同时包含图标和文本,这需要大家自行测试。

        下面是工具栏,工具栏是一种将多个组件放在单行或单列中的容器。工具栏是使用JToolBar类创建的,可被设计为允许用户在图形用户界面中移动他们,这被称为“停靠”,而这种组件也被称为“可停靠的工具栏”;

        可以调用下面的构造函数之一来创建工具栏:

                JToolBar():创建沿水平方向排列组件的工具栏;

                JToolBar(int):创建沿指定方向排列的组件的工具栏,指定的方向可以是SwingContants.HORIZONTAL或SwingContants.VERTICAL。

        将组件加入到工具栏的方式与加入到其他容器相同:调用add(Component)方法并将要降入的组件作为参数。

        对于可停靠的工具栏,必须放在使用BorderLayout布局管理器的容器中,此时容器应只使用其中的两个区域:中央区域和一个方向区域。

下面的语句创建一个可停靠的垂直工具栏:



 


热点排行