当前位置:文档之家› 8.1 Swing图形用户界面程序设计

8.1 Swing图形用户界面程序设计

8.1 Swing图形用户界面程序设计
8.1 Swing图形用户界面程序设计

第8章Swing图形用户界面程序设计

8.0:GUI概述

Java语言提供两种图形用户界面,即AWT(早期版本)和Swing(增强了功能、减少了平台相关性)。

一方面:Swing图形用户界面比AWT图形用户界面可以克服更多的操作系统不同所带来的图形界面或交互方式上的差别;

另一方面:Swing图形用户界面还增加了功能,可以定制指定的操作系统风格的图形用户界面。

8.1:组件和容器

组件和容器是Swing图形用户界面的组成部分。在Swing图形用户界面程序设计中,要求按照一定的布局方式将组件和容器的组合添加到给定的容器中。这样,通过组件和容器的组合就形成图形用户界面。然后通过事件处理的方式实现在图形界面上的人机交互。

8.1.1 整体介绍

容器本身也是组件。

按组件和容器的用途来分:顶层容器、一般容器、专用容器、基本控件、不可编辑信息组件和可编辑组件。

1:顶层容器主要有三种:小应用程序(Applet和JApplet)、对话框(Dialog 和JDialog)和框架(Frame和JFrame)。

这三种容器在AWT图形用户界面中对应的类分别是java.applet.Applet、java.awt.Dialog和java.awt.Frame;在Swing图形用户界面中对应的类分别是javax.swing.JApplet、javax.swing.JDialog和javax.swing.JFrame,这些名称均以“J”开头。

小应用程序主要用来设计嵌入在网页中运行的程序;对话框通常用来设计具有依赖关系的窗口;框架主要用来设计应用程序的图形界面。

2:一般容器包括面板(Jpanel)、滚动窗格(JScrollPane)、分裂窗格(JSplitPane)、选项卡窗格(JTabbedPane)和工具条(JtoolBar)。

面板通常是只有背景色的普通容器;滚动窗格具有滚动条;分裂窗格是用来装两个组件的容器;选项卡窗格允许多个组件共享相同的界面空间;工具条通常将多个组件(通常是带图标的按钮组件)排成一列或一排。

3:专用容器包括内部框架(JInternalFrame)、分层窗格(JLayeredPane)和根窗格(JRootPane)。

内部框架可以在一个窗口内显示若干个类似于框架的窗口;分层窗格给窗格增加了深度的概念,当两个或多个窗格重叠在一起时,可以根据窗格的深度来决定显示哪一个窗格的内容,一般显示深度值较大的窗格。根窗格一般是自动创建的容器,创建内部框架或者任意一种顶层容器都会自动创建根窗格。

根窗格由玻璃窗格、分层窗格、内容窗格和菜单窗格构成。玻璃窗格是不可见的,只是用来解释各种输入事件;分层窗格为内容窗格和菜单窗格服务,主要

用来管理各种相关深度值;内容窗格用来管理除菜单窗格之外的位于根窗格容器内的组件;菜单窗格不是必需的,主要用来管理菜单栏和菜单。

4:基本控件包括命令式按钮(JButton)、单选按钮(JRadioButton)、复选框(JCheckBox)、组合框(JComboBox)和列表框(JList)。

5:不可编辑信息组件包括标签(JLabel)和进度条等。

6:可编辑组件包括文本编辑框(JTextField)和文本区域(JTextArea)等。

8.1.2 JFrame和JLabel

(一)框架(JFrame)是顶层的容器。

1框架的构造:可以通过类javax.swing.JFrame的构造方法(A-B)

A: public JFrame ( ) throws HeadlessException

创建一个不可见不含标题的的初始化框架。

B:public JFrame (String title ) throws HeadlessException

创建一个不可见的初始化框架,其中title指定框架的标题内容。

新创建的框架需要进行属性设置才能正常工作。

2框架的属性设置:可以通过类javax.swing.JFrame的成员方法(A-C)

A: public viod setDefaultCloseOperation (int operation)

设置关闭框架的行为属性。其中operation一般为常数JFrame.EXIT_ON_CLOSE,表示关闭框架时,则退出程序。

B: public viod setSize (int width,int height)

设置框架的大小。width和height分别对应框架的宽度和高度。

C: public viod setVisible (boolean b)

设置框架是否可见。当b为true时,框架变成可见,否则不可见。一般需要调用该成员方法让初始不可见的框架变成可见的,而且应当在前面属性设置完毕以及添加完组件之后调用该成员方法,否则,框架的图形界面可能会出现不正常显示。

3给顶层容器添加组件的方法:一般是先获取顶层容器的内容窗格,再向内容窗格添加组件。

(1)可以通过类javax.swing.JFrame的成员方法

public Container getContentPane ()

返回当前框架的内容窗格。

(2)此时,还需要给内容窗格设置布局方式

类java.awt.Container的成员方法

public viod setLayout(LayoutManager mgr)

将当前容器的布局方式设置为参数mgr指定的方式。

最常见的布局方式是FlowLayout。通过类java.awt.FlowLayout的构造方法public FlowLayout (int align)可以创建FlowLayout的实例对象。在FlowLayout 布局方式下,组件在容器中以行的形式从左到右依次排列,参数align指定行对齐方式(常见的取值有FlowLayout.LEFT、FlowLayout.CENTER、FlowLayout.RIGHT),

分别对应左中右对齐。

(3)在设置布局方式之后可以给内容窗格容器添加组件

类java.awt.Container的成员方法

public Component add (Component comp)

将组件添加到当前容器中。

(二)利用标签(JLabel)可以在图形用户界面上显示一个字符串或一幅图。

1标签的创建:可以通过类javax.swing.JLabel的构造方法(A-C)

A: public JLabel (String text)

B: public JLabel (Icon icon)

C: public JLabel (String text, Icon icon, int horizontalAlignment)其中参数text指定标签的文字信息;参数icon指定标签的图标;参数horizontalAlignment指定文字和图标在水平方向上的对齐方式,常见的取值有常量JLabel.LEFT、JLabel.CENTER、JLabel.RIGHT,分别对应左中右对齐方式。如果参数text为null,则该标签不含文字信息;如果参数icon为null,则该标签不含图标。

2设置标签的属性:可以通过类javax.swing.JLabel的成员方法(A-G)

A: public void setText (String text)

重新设置标签的文字信息,参数text指定标签的新的文字信息。如果参数text为null,则该标签不含文字信息。

B: public void setIcon (Icon icon)

重新设置标签的图标,参数icon指定标签的新图标。如果参数icon为null,则该标签不含图标。

C: public void setHorizontalAlignment(int alignment)

设置组成标签的文字与图标在水平方向上的对齐方式,参数alignment指定常见的取值有常量JLabel.LEFT、JLabel.CENTER、JLabel.RIGHT,分别对应左中右对齐方式。

D: public void setHorizontalTextPosition(int textPosition)

设置组成标签的文字与图标在水平方向上的相对位置关系,参数textPosition 为常量JLabel.LEFT或JLabel.RIGHT时,文字分别位于图标的左侧或右侧;参数textPosition为常量JLabel.CENTER时,文字与图标在水平方向中对齐。

E: public void setVerticalAlignment(int alignment)

设置组成标签的文字与图标在竖直方向上的对齐方式,参数alignment指定常见的取值有常量JLabel.TOP、JLabel.CENTER、JLabel.BOTTOM,分别对应左中右对齐方式。

F: public void setVerticalTextPosition(int textPosition)

设置组成标签的文字与图标在水平方向上的相对位置关系,参数textPosition 为常量JLabel.TOP或JLabel.BOTTOM时,文字分别位于图标的上方或下方;参数textPosition为常量JLabel.CENTER时,文字与图标在竖直方向上中对齐。

G: public void setToolTipText(String text)

设置当鼠标指针在标签上稍加停留时出现的提示信息,其内容为text指定的字符串。

8.1.3 JDialog和JOptionpane

(一)对话框(JDialog)

用来设计具有依赖关系的窗口,通常在已有的对话框上创建对话框,已有的对话框称为父窗口,新创建的称为子窗口。

1对话框的创建:可以通过类javax.swing.JDialog的构造方法(A-B)

A: public JDialog (Dialog owner, String title, boolean modal)

B: public JDialog (Frame owner, String title, boolean modal)

参数owner指定对话框的父窗口,参数title指定当前对话框的标题,参数modal指定对话框的模式,其中A方法新创建对话框的父窗口也是对话框,B方法新创建对话框的父窗口是框架。

对话框的模式有两种:当modal为true时,新创建的对话框是有模式对话框(一般无法通过图形界面用户操作父窗口,而只能与作为子窗口的有模式对话框进行交互,在关闭有模式对话框后,其父窗口才回到激活的状态),否则是无模式对话框(无模式对话框与其父窗口都处于激活的状态,当关闭无模式对话框时,其父窗口仍然存在,但是当关闭其父窗口时,通常会自动关闭该无模式对话框)。

2设置对话框的大小和可见性属性:可以通过类javax.swing.JDialog的成员方法(A-B)

A: public voidSetSize (intwidth,int height)

设置对话框的大小,width和height分别对应框架的宽度和高度。

B: public void SetVisible (Boolean b)

设置对话框是否可见,当b为true时,框架变成可见,否则不可见。

3给对话框添加组件的方法:一般是先获取顶层容器的内容窗格,再向内容窗格添加组件。

(1)可以通过类javax.swing.JDialog的成员方法

public Container getContentPane ()

返回当前框架的内容窗格。

(2)此时,还需要给内容窗格设置布局方式

c.setLayout (new FlowLayout (FlowLayout.LEFT) );

将内容窗格的布局方式设置成为从左到右排列组件的FlowLayout方式,而且采用左对齐方式。

(3)在设置布局方式之后可以给内容窗格容器添加组件

类java.awt.Container的成员方法

public Component add (Component comp)

将组件comp添加到当前容器中。

(二)标准对话框(JOptionPane)

类java.swing.JOptionPane提供一些现成的有模式对话框,这些对话框称为“标准对话框”。

A: public static void showMessageDialog (Component parentComponent,Object message)throws HeadlessException

B: public static void showMessageDialog (Component parentComponent,Object message,String title,int messageType)throws HeadlessException C: public staticvoid showMessageDialog (Component parentComponent,Object message,String title,int messageType,Icon icon)throwsHeadlessException

参数parentComponent指定对话框的父窗口,参数message指定要显示的消息,参数title指定对话框的标题。如果不含参数title,则默认的标题是“消息”。参数messageType指定对话框显示的消息类型:

错误消息类型(JOptionPane.ERROR_MESSAGE)、

信息消息类型(https://www.doczj.com/doc/4a5627231.html,RMATION_MESSAGE)(默认消息类型)

警告消息类型(JOptionPane.WARNING_MESSAGE)、

疑问消息类型(JOptionPane.QUESTION_MESSAGE)、

简单消息类型(JOptionPane.PLAIN_MESSAGE)。其中在括号内的内容是消息类型对应的参数messageType的值。如果上述成员方法不含参数messageType,则为默认值。消息对话框一般采用不同的图标表示不同的消息类型。简单消息类型的对话框一般不含图标。参数icon指定在消息对话框中的图标。

2弹出一个确认对话框:可以通过类javax.swing.JOptionPane的成员方法(A-D) A: public static int showConfirmDialog (Component parentComponent,Object message)throws HeadlessException

B: public static int showConfirmDialog (Component parentComponent,Object message,String title,int optionType)throws HeadlessException C: public staticint showConfirmDialog(Component parentComponent,Object message,String title,intoptionType,int messageType)throws HeadlessException

D: public static int showConfirmDialog (Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon)throws HeadlessException

参数parentComponent指定对话框的父窗口,参数message指定要显示的提示消息,参数title指定对话框的标题。如果不含参数title,则默认的标题是“选择一个选项”。参数optionType指定对话框选项的模式。当参数OptionType为JOptionPane.YES_NO_OPTION时确认对话框只包括“是”“否”两个按钮;当参数OptionType为JOptionPane.YES_NO_CANCEL_OPTION时确认对话框包括“是”“否”“取消”三个按钮,如果不含参数optionType,则默认的选项模式是JOptionPane.YES_NO_OPTION。参数messageType与icon的含义与生成消息对话框的showMessageDialog成员方法的这两个参数的含义相同。如果上述成员方法不含参数messageType,则为默认值“疑问消息类型”。上面生成确认对话框的成员方法还会返回一个整数:-1(当直接关闭确认对话框而不作任何选择时)、0(当单击“是”按钮时)、1(当单击“否”按钮时)或2(当单击“取消”按钮时)。

方法(A-C)

A: public static String showInputDialog (Component parentComponent,Object message)throws HeadlessException

B: public static String showInputDialog(Component parentComponent,Object message,String title,Object initialSelectionValue)

C: public staticString showInputDialog(Component parentComponent,Object message,String title,int messageType)throws HeadlessException 通过该对话框的文本框可以输入字符串。

上面成员方法的参数的含义与生成消息对话框的showMessageDialog成员方法的相应参数的含义相同。参数initialSelectionValue指定在文本框中显示的初始字符串。如果不含参数title,则默认的标题是“输入”。如果上述成员方法不含参数messageType,则为默认值“疑问消息类型”。上述成员方法具有返回值,当单击“确定”按钮时,返回值为在文本框中输入的字符串(包括空串);当单击“取消”按钮或不做选择直接关闭对话框时,返回值为null。

4弹出一个选择输入对话框:可以通过类javax.swing.JOptionPane的成员方法

public static Object showInputDialog(Component parentComponent,Object message,String title,int messageType, Icon icon, Object []selectionValues, Object initialSelectionValue)throws HeadlessException 通过该对话框的组合框可以选择字符串。

前五个参数的含义与生成消息对话框的showMessageDialog成员方法的相应参数的含义相同。参数selectionValues指定候选的字符串数组,参数initialSelectionValue指定在组合框中显示的初始字符串选项。该成员方法具有返回值,当单击“确定”按钮时,返回值为选中字符串;当单击“取消”按钮或不做选择直接关闭对话框时,返回值为null。

8.1.4 JTextField和JPasswordField

用来编辑单行文本,JTextField在文本框中可以看到输入的字符, JPasswordField则输入的字符用“*”代替。

1文本编辑框和密码式文本编辑框的创建:可以通过类javax.swing.JTextField 或javax.swing. JPasswordField的构造方法(A-D)

A:public JTextField()/ public JPasswordField()

B: public JTextField(String text)/ public JPasswordField(String text)

C: public JTextField(int columns)/ public JPasswordField(int columns)

D: public JTextField(String text, int columns)/ public JPasswordField(String text, int columns)

参数text指定在文本编辑框中显示的初始文本信息,不含text则显示为空。参数columns必须是非负整数,指定文本编辑框的宽度。如果columns>0则文本编辑框的宽度大约与columns个字符的宽度相当。如果columns为0或者不含

columns,则文本编辑框的宽度为初始文本信息的宽度。如果实际文本信息的宽度超过文本编辑框的宽度,则可以通过键盘的左或者右箭头移动文本信息。

在创建文本编辑框和密码式文本编辑框的实例对象后:

2获取他们的文本信息:可以通过类javax.swing.JTextField或javax.swing. JPasswordField的成员方法

public String getText ( )

3设置他们的文本信息:可以通过类javax.swing.JTextField或javax.swing. JPasswordField的成员方法

public String setText ( String t)

即将当前文本信息设置成为参数t指定的字符串。

4设置他们的编辑属性:可以通过类javax.swing.JTextField或javax.swing. JPasswordField的成员方法

public viod setEditable( boolean b)

即设置文本编辑框和密码式文本编辑框是否可编辑,当b为true时可编辑,否则不能,既不可以通过图形用户界面接受字符的输入,这时的文本编辑框类似于标签。

8.1.5 JButton、JCheckBox和JRadiobutton

命令式按钮(JButton)触击式按钮,即当单击时,可以激发命令事件;复选框按钮(JCheckBox)和单选框按钮(JRadioButton)的选择状态会发生变化。

1命令式按钮的创建:可以通过类javax.swing.JButton的构造方法(A-D)A: public JButton ()

B: public JButton (Icon icon)

C: public JButton (String text)

D: public JButton (String text ,Icon icon)

参数icon指定命令式按钮的图标,参数text指定命令式按钮的文本信息。如果构造方法不含icon,则命令式按钮不含图标,如果不含text,则命令式按钮不含文本信息。

2复选框的创建:可以通过类javax.swing.JCheckBox的构造方法(A-G)

A: public JCheckBox ()

B: public JCheckBox (Icon icon)

C: public JCheckBox (Icon icon, boolean selected)

D: public JCheckBox (String text)

E: public JCheckBox (String text, boolean selected)

F: public JCheckBox (String text, Icon icon)

G: public JCheckBox (String text, Icon icon, boolean selected)

参数icon指定复选框的图标,参数text指定复选框的文本信息。如果构造方法不含icon,则复选框不含图标,如果不含text,则复选框不含文本信息。参数selected指定复选框是否处于被选中的状态,当参数selected为true时,所创建的复选框处于被选中的状态,否则不被选中,如果不含selected,复选框处于不被选中的状态。

3单选框的创建:可以通过类javax.swing.JRadioButton的构造方法(A-G)A: public JRadioButton ()

B: public JRadioButton (Icon icon)

C: public JRadioButton (Icon icon, boolean selected)

D: public JRadioButton (String text)

E: public JRadioButton (String text, boolean selected)

F: public JRadioButton(String text, Icon icon)

G: public JRadioButton (String text, Icon icon, boolean selected)上面各个参数的含义与javax.swing.JCheckBox的构造方法的参数相同

4设置复选框和单选按钮的选中状态

类javax.swing.JCheckBox和类javax.swing.JRadioButton的成员方法

public viod setSelected (boolean b)

b为true时,对应选中状态,否则不被选中。

5返回复选框和单选按钮的选中状态

类javax.swing.JCheckBox和类javax.swing.JRadioButton的成员方法

public viod isSelected ()

当处于选中状态时,返回true,否则返回false。

6单选按钮之间的联动

类javax.swing. ButtonGroup的构造方法

public ButtonGroup()创建按钮组

7添加按钮到按钮组中

类javax.swing. ButtonGroup的成员方法

public void add(AbstractButton b)将按钮b添加到当前按钮组中

这里类javax.swing.JRadioButton是javax.swing. AbstractButton的子类。因此,可以将单选按钮添加到按钮组中。同一个按钮组中的单选按钮在图形用户界面上的操作具有联动的特点。

8.1.6 JComboBox、JList、JTextArea和JScrollPane

显示多行文本信息特点的组件。

(一)组合框(JComboBox)即下拉列表框。

1组合框的创建:通过类javax.swing.JComboBox的构造方法

public JComboBox(Object[ ] items)

参数items指定组合框的各个选项。

2设置组合框的属性:通过类javax.swing.JComboBox的成员方法

public void setEditable(boolean aFlag)输入一行文本信息

当参数aFlag为true时,允许输入文本信息,否则不可以自动输入文本信息。这时只能选择组合框的某个选项。组合框的默认属性是不允许输入文

本信息。

3设置在组合框中的下拉列表中的显示最大行数:

通过类javax.swing.JComboBox的成员方法

public void setMaximumRowCount(int count)当组合框选项数超过count的值时,下拉列表会自动添加上滚动条。

4设置被选中的选项:

通过类javax.swing.JComboBox的成员方法

public void setSelectedIndex(int anIndex)即第(anIndex+1)项,要求anIndex非负并且小于组合框的选项数。

5将组合框中区域的内容设置为参数anObject指定的对象:

通过类javax.swing.JComboBox的成员方法

public void setSelectedItem(Object anObject)

如果组合框不可编辑或者参数anObject指定的对象不在组合框的选项中,那么组合框中区域的内容不变。

6返回组合框选中区域的对象在选项列表框中出现的第一个下标值:

通过类javax.swing.JComboBox的成员方法

public int getSelectedIndex()

这里选项的下标值从0开始计数,如果选中区域的对象不在选项列表中,返回-1。

7返回组合框选中区域中的对象:

通过类javax.swing.JComboBox的成员方法

public Object getSelectedItem()

8返回由在组合框选中区域中的对象组成的单元数组:

通过类javax.swing.JComboBox的成员方法

public Object [ ] getSelectedObject()因为组合框最多只能选中一个一个选项,所以上面的成员方法虽然以数组的方式返回,但该数组一般只

有一个元素。

(二)列表框(JList)

界面显示一系列的列表项,并且可以从中选择一个到多个列表项。

1列表框的创建:通过类javax.swing.JList的构造方法

public JList(Object[ ] listData)

参数listData指定列表框的各个选项。

2设置列表框的属性:通过类javax.swing.JList的成员方法

public void setSelectionMode(int selectionMode)设置列表框的选择模式。

当参数selectionMode为常数

javax.swing.ListSelectionModel.SINGLE_SELECTION时,只能在列表框选中一个选项。

当参数selectionMode为常数

javax.swing.ListSelectionModel.SINGLE_INTERAL_SELECTION时,只能在列表框选中一个或一些连续的选项。

当参数selectionMode为常数

javax.swing.ListSelectionModel.MUTIPLE_INTERAL_SELECTION时,可以在列表框任意选中一个或多个选项,也就是列表框的默认选择模式。如果需要选中多个选项,可以按住“shift”或“control”键不放,然后用鼠标指针进行选择。

3设置被选中的选项:

通过类javax.swing.JList的成员方法

public void setSelectedIndex(int index)即第(index+1)项,要求anIndex 非负并且小于组合框的选项数。

4设置被选中的各个选项:

通过类javax.swing.JList的成员方法

public void setSelectedIndices(int [ ] indices)要求indices的每个元素非负并且小于组合框的选项数。数组indices的各个元素指定被选中的选项下标值(从0开始计数)。

5设置被选中的各个选项:

通过类javax.swing.JList的成员方法

public void setSelectedInterval(int anchor, int lead)要求anchor 和lead非负并且小于组合框的选项数。

6返回列表框中被选中选项的最小下标值(从0开始计数):

通过类javax.swing.JList的成员方法

public Object getSelectedIndex()如果没有被选中,则返回-1。.

7返回在列表框中各个被选中选项的下标值组成的数组:

public int [ ] getSelectedIndices( ) 如果没有被选中,则返回元素个数为0的数组,而不是null。

8返回列表框中下标最小的被选中选项对象:

通过类javax.swing.JList的成员方法

public Object getSelectedValue()如果没有被选中,则返回null。

9返回在列表框中各个被选中选项的对象组成的数组:

public Object [ ] getSelectedValues( ) 如果没有被选中,则返回元素个数为0的数组,而不是null。

(三)文本区域(JTextArea)的创建

是可以编辑多行文本信息的文本框,但文本区域不能进行改动滚屏处理,即当文本内容超过文本区域的范围时,文本区域不会自动出现滚动条。

通过类javax.swing.JTextArea的构造方法

public JTextArea(String text,int rows,int columns)创建

参数text指定在文本区域显示的初始化文本信息,参数rows指定显示的行数,参数columns指定显示的大致列数。这里要求rows和columns均大于0。

(四)滚动窗格(JScrollPane)

给文本区域添加滚动条。当文本信息在水平方向超过文本区域范围时会自动出现水平滚动条,当文本信息在竖直方向超过文本区域范围时会自动出现竖直滚动条。

通过类javax.swing. JScrollPane的构造方法

public JScrollPane(Component view)创建。

参数view指定需要加上滚动条功能的组件。

8.1.7 JSlider和JPanel

(一)滑动条(JSlider)

提供以图形方式进行数值选取的功能。通常选取的范围是一个有限的整数区间。它提供了通过鼠标指针移动在滑动条的滑动块获得数值的手段。另外,它还可以用来表示程序执行的的进度情况。

1滑动条的创建:通过类javax.swing.JSlider的构造方法

A: public JSlider(int min,int max,int value)

B: public JSlider(int orientation,int min,int max,int value)参数orientation指定滑动条的方向,参数min,参数max分别指定滑动条所表示的数值范围的最小值和最大值,参数value指定在滑动条中滑动块的初始位置,即滑动块的位置与当前所表示的数值是一一对应的。这里要求min不小于max,而且min<=value<=max。参数orientation只能为常量javax.swing.JSlider.HORIZONTAL或javax.swing.JSlider.VERTICAL。当参数orientation 为常量javax.swing.JSlider.HORIZONTAL时,滑动条呈水平方向;当参数orientation 为常量javax.swing.JSlider.VERTICAL时,滑动条呈竖直方向。如果不含参数

orientation,则滑动条的默认方式是水平方向。

2移动滑动块的位置:通过类javax.swing.JSlider的成员方法

public void setValue(int n)

移动滑动块的位置,使得滑动块所在的位置表示数值n。这里要求参数n满足min<=n<=max,其中参数min,参数max分别指定滑动条所能表示的最小值和最大值。

3返回滑动条当前所表示的位置:

通过类javax.swing.JSlider的成员方法

public void getValue()

(二)面板(JPanel)

常用用作中间容器,即在面板中添加组件,另一方面还可以形成比较合理的组件布局方式,面板还经常用作swing图形用户界面的画板。

1面板的创建:通过类javax.swing.JPanel的构造方法

public JPanel()

2设置面板的属性:通过类javax.swing.JPanel的成员方法

public void setPreferredSize(Dimension preferredSize)

将面板的大小设置为参数preferredSize所指定尺寸值,这里preferredSize的类型是java.awt.Dimension。

它的实例对象的创建可以通过类的java.awt.Dimension的构造方法

public Dimension(int width ,int height)来实现,其中width和height分别指定宽度和高度。

3面板的背景颜色:通过类javax.swing.JPanel的成员方法

public void setBackground(Color bg)

设置为由参数bg指定的颜色。

实验一:图形用户界面设计

实验一图形用户界面设计 一实验目的和要求 1)熟悉图形用户界面的设计原则 遵循用户友好原则、一致性原则、帮助和提示等原则设计用户界面。 2)利用一种设计工具完成图形化的用户界面设计 二实验内容与步骤 (一)实验内容 利用常用的设计工具(UI界面设计工具GUI Design Studio)完成一个通用图形用户界面设计,要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理),注意颜色的使用,学会图标、按钮、屏幕布局、菜单和对话框的设计。 软件的界面如同人的脸一样,软件界面的好坏决定了用户对软件的第一印象。设计好的界面能够引导用户自己完成相应的操作,起到引导作用。设计合理的界面能给用户带来轻松愉悦的感受。一些专家指出:对于用户,人机界面就是系统本身。这充分说明了软件界面设计的重要性。请完成各自的系统用户界面的设计。 (二)实验步骤 1.设计多个对话框,完成填表输入界面的设计,合理使用图标、按钮、颜色; 2.设计不同形式的菜单,完成对不同对话框的调用; 3.提供简单的错误处理、联机帮助。 GUI Design Studio主界面

三界面示例1、登录界面 2、主界面

3、聊天界面 4、QQ空间界面

四实验总结 1.界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致。 2.颜色是一种有效的强化手段,同时具有美学价值。使用颜色时应注意如下几点:限制同时显示的颜色数;画面中活动对象的颜色应鲜明,而非活动对象应暗淡;尽量避免不相容的颜色放在一起,如黄与蓝,红与绿等,除非作对比时用;若用颜色表示某种信息或对象属性,要使用户理解这种表示,并尽量采用通用的表示规则。 3.图标是可视地表示实体信息的简洁、抽象的符号。图标设计是方寸艺术,需要在很小的范围内表现出图标的内涵。设计图标时应该着重考虑视觉冲击力,要使用简单的颜色,利用眼镜对色彩和网点的空间混合效果,做出精彩图标。 1)设计按钮应该具有交互性,应该有3到6种状态效果(点击时的状态、鼠标放在上面但未点击的状态、点击前鼠标未放在上面时的状态、点击后鼠标未放在上面时的状态、不能点击时的状态、独立自动变化的状态),按钮应具备简洁的图示效果,应能够让使用者产生功能上的关联反应。属于一个群组的按钮应该风格统一,功能差异大的按钮应该有所区别。 2)设计屏幕布局(Layout)时应该使各功能区重点突出,应遵循如下几条原则:平衡原则、预期原则、经济原则、顺序原则、规则化。 3)菜单在图形界面的应用程序中使用得非常普遍,是软件界面设计的一个重要组成方面,描述了一个软件的大致功能和风格。菜单中的选项在功能上与按钮相当,一般具有下列一种或几种类型的选项:命令项、菜单项和窗口项。菜单的结构一般有单一菜单、线状序列菜单、树状结构菜单、网状结构菜单等,其中树状结构菜单是最常见的结构。 设计菜单界面时应注意一般性原则:功能组织菜单,合理分类,并力求简短,前后一致;合理组织菜单界面的结构与层次;按一定的规则对菜单项进行排序;菜单选项的标题要力求文字简短、含义明确,并且最好以关键词开始;常用选项要设置快捷键;充分利用菜单选项的使能与禁止、可见与隐藏属性;使用弹出式菜单。 4)在处理大量相关数据的场合下,需要输入一系列的数据,这时填表输入界面是最理想的数据输入界面。在设计填表输入界面时应遵循的原则:一致性;有含义的表格标题;使用易于理解的指导性说明文字;栏目按逻辑分组排序;表格的组织结构和用户任务相一致;光标移动方便;出错提示;提供帮助;表格显示应美观、清楚,避免过分拥挤。

实验三图形用户界面设计(汽院含答案)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行 交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器: FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵

MFC用户界面设计

MFC用户界面设计 (2007-07-03 14:08:02) 转载 MFC用户界面设计一 (创建一个MFC工程的框架) 打开VC++6.0选择New,出现如下界面: 然后选中MFC AppWizard[exe] ,即我们将创建一个MFC的可执行文件,然后在Project Name下面的框中写入这个工程的名字,注意: 工程的名字不要是中文的,且不要太过于长(到底多长是长我也不知道),最好使用英语的单词来定义你所要实现的工程项目的名字。 Location你可以自定义你的创建的这个工程的存放地方。个人建议不要存放在C盘。以防病毒感染之后C盘打不开,你的工作就全没有了。并且最好建一个专用的C++工程的存放文件夹。不推荐使用中文文件夹和存储路路径较长的文件

夹。如:D:\xx\xxx\xxx\xxx\xxx\xxx\xxxx\xxxxxxx\xxx(这样至少自己找的时候都要烦死了)。 Platform只有选择Win32了。在完成了这些之后就可以点击OK了。已开始创建的6小步中的第一步。如下图所示。 可以看见。上面的标题栏显示的是 MFC AppWizard Step 1,这一步是规划一个MFC程序框架的最重要的一部,我们可以选择 1:Single Document(单文档)即创建的程序能在某个时间内装入和编辑一个文档,使用了所有四个基类(C WinApp CFrameWnd CDocument Cview,至于四个基类都是什么作用参考第二章中所述)。典型的对话框应用程序包括配置硬件设备的应用程序、屏幕保护程序和游戏程序等。 2:Multiple Documents (多文档)一次可以装载和编辑多个文档,并且不但使用了所有四个基类,还使用了CFrameWnd的两个派生类,即CMDIFrameWnd和CMDIChildWnd。

用户界面设计与答案

1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素 2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。 4.进行系统分析和设计的第一步是___用户分析_____。 5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。 6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段 7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。 9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。 10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。 11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。 12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。 13. 计时器事件之间的间隔通过__interval__属性设置。 14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。 15. 设有下列循环体,要进行4次循环操作,请填空。 x = 1 Do x = x * 2 Print x Loop Until__x<=32__ 16. 下列程序段的执行结果为__2 3 5__。 x = 1 y = 1 For I = 1 To 3 F= x + y x = y y = F Print F; Next I 17. 以下为3个列表框联动的程序,试补充完整。 Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub Private Sub Drive1_Change() Drivel.Path=File1.Path;Dir1.Path=Drivel.Path__[7]__ End Sub 18. 在下列事件过程中则响应该过程的对象名是cmdl,事件过程名是__窗口标题事件__。 Private Sub cmd1_Click() Form1.Caption=“VisualBasic Example” End Sub 19. 当将文本框的SelStar 属性设置为0时,表示选择第开始位置在第一个字符之前,设置为1时表示__[9]__。 20. 以下程序代码实现单击命令按钮Command1 时形成并输出一个主对角线上元素值为“-”,其他元素值为“+”第6*6 阶方阵。 Privas Sub Command1_Click() DimA(6,6) For I = 1 To 6 For J = 1 To 6 If I = J Then Print “-” Else __[10]__ End If Print A (I,J); Next J Print Next I End Sub 21. 字母B的KeyAscii 码值为65,其KeyCode码值___[11]__。 22. Visual Basic 中的控件分为3类:__[12]_、ActioveX 控件和可插入对象。

用户界面设计报告

用户界面设计报告封面: 目录: 引言 (1) 01文档介绍 (1) 02项目背景 (1) 03读者对象 (1) 04参考文献 (2) 05术语与缩写解释 (2) 06界面设计规范 (2) 07界面关系和工作流程图 (2) 08主界面 (3) 09子界面 (4) 10美学设计 (5) 11网页配色基本概念 (5) 12网页设计理念 (5)

引言: 电子商务网站是人类商业发展一种全新模式。而要令这种全新模式真正化去实行和运作,则需要进行软件化的设计制作。对于此类电子商务网站来说,用户界面设计尤其重要。故针对用户界面得设计中,此设计报告能真正的方便于其电子商务网站的界面开发。 01文档介绍:该文档为MP4电子商务网站用户界面设计报告说明文档。 02文档目的: 此文档的编写目的是为了让界面设计人员能通过该文档以明确的界面设计规划来实现项目此方面的要求,方便使客户、电子商务网站 总软件设计人员、软件开发人员和整合测试人员了解设计方案的具体 界面分配,方便其他功能的制作。同时也为界面设计的制作工作提供 了直接文档说明。 03项目背景: 针对商务网站界面设计需求,以及方便日后买家的审美需要。随着市面上各风格网站的诞生,根据本公司做的电子网站资料需求用到 的界面所在,有必要地对此界面的诞生。 04参考文献: 【A】李梅、钟阳晶、李冬睿、李振军、杨颖、廖福保 共同编著《WEB程序设计》,广东农工商职业学

院出版,2010-6 【B】李德奇,《Windows程序设计案件教材(C#)》, 大连理工大学出版社,2008-1 【C】 郝安林SQL Server 2005 基础教程与实验指导 清华大学出版社2008.11 05术语与缩写解释: 06界面设计规范: 本界面制作应遵循互联网电子商务网站使用标准,界面设计制作合法化、理性化,既符合大众的市场所需也做到不侵权不盗版的 原则要求。 07界面关系和工作流程图: 经客户要求及小组讨论,本接口学习网站各个界面关系图如下:

图形用户界面设计

09次上机图形用户界面设计 1、(1)给程序添加注释,并执行。 建立数制转换对话框。 在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。 hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输入框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normalized','Horizontal','center',... 'String','输出框','Back',[0,1,1]); uicontrol(hf,'Style','Frame','Position',[0.04,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.6,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','十进制数','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.4,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','2~16进制','Back',[1,1,0]); he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.4,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); uicontrol(hf,'Style','Frame','Position',[0.52,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); ht=uicontrol(hf,'Style','Text','Position',[0.6,0.5,0.3,0.1],... 'Units','normalized','Horizontal','center','Back',[0,1,0]); COMM=['n=str2num(get(he1,''String''));',... 'b=str2num(get(he2,''String''));',... 'dec=trdec(n,b);','set(ht,''string'',dec);']; uicontrol(hf,'Style','Push','Position',[0.18,0.1,0.2,0.12],... 'String','转换','Units','normalized','Call',COMM); uicontrol(hf,'Style','Push','Position',[0.65,0.1,0.2,0.12],... 'String','退出','Units','normalized','Call','close(hf)'); 2、做一个带按钮的界面,当按动按钮时,在计算机声卡中播放一段音乐。(提示,找一个.wav 文件,简单起见可以在windows目录下找一个文件,将其放在当前工作目录下或搜索路径上,当按动“开始”按钮时调入该文件并播放,发声功能由sound函数完成,具体用法请查阅帮助信息)

java图形用户界面设计

实验名称:图形用户界面设计 一、实验目的 1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。 2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。 3.掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。 二、实验环境(软件、硬件环境) PC机JDK包 三、实验原理 通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container 类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI 编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。 四、实验容及步骤 实验容:密码验证问题。 编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请

输入正确的信息”,如果尝试失败,用户则退出。 调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、图8-3和图8-4所示,请将程序中的代码1~代码7补充完整。 图8-1 运行结果,输入正确信息图8-2 显示欢迎信息 图8-3 运行结果,输入错误信息图8-4 显示重新输入信息 程序清单: //PasswordVerification.java import javax.swing.*; import java.awt.event.*; import java.awt.*; public class PasswordV erification extends JFrame { JLabel userLabel; JLabel passwordLabel; JTextField userText; JPasswordField passwordText; int count=1;//统计输入信息的次数 public PasswordVerification() { super("请输入信息"); Container c =代码1;//得到容器对象container c.setLayout(new FlowLayout());//设置默认布局 userLabel=代码2//创建用户标签 passwordLabel=代码3;//创建密码标签 userText=代码4//创建用户文本输入框 passwordText=代码5//创建密码输入文本框 passwordText. 代码6(

UI界面设计规范模板

UI设计(流程/界面)规范 一:UI设计基本概念与流程 1.1 目的 规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计流程的可操作性。 1.2范围 l 界面设计 l 此文档用于界面设计,本文档的读者对象是项目管理人员、售前服务人员、UI界面设计人员、界面评审人员和配置测试人员。 1.3 概述 UI设计包括交互设计,用户研究,与界面设计三个部分。基于这三部分的UI设计流程是从一个产品立项开始,UI设计师就应根据流程规范,参与需求阶段、分析设计阶段、调研验证阶段、方案改进阶段、用户验证反馈阶段等环节,履行相应的岗位职责。UI设计师应全面负责产品以用户体验为中心的UI设计,并根据客户(市场)要求不断提升产品可用性。本规范明确规定了UI设计在各个环节的职责和要求,以保证每个环节的工作质量。 1.4 基本介绍 A、需求阶段 软件产品依然属于工业产品的范畴。依然离不开3W的考虑(Who,where,why.)也就是使用者,使用环境,使用方式的需求分析。所以在设计一个软件产品之前我们应该明确什么人

用(用户的年龄,性别,爱好,收入,教育程度等)。什么地方用(在办公室/家庭/厂房车间/公共场所)。如何用(鼠标键盘/遥控器/触摸屏)。上面的任何一个元素改变结果都会有相应的改变。 除此之外在需求阶段同类竞争产品也是我们必须了解的。同类产品比我们提前问世,我们要比他作的更好才有存在的价值。那么单纯的从界面美学考虑说哪个好哪个不好是没有一个很客观的评价标准的。我们只能说哪个更合适,更合适于我们的最终用户的就是最好的。B、分析设计阶段 通过分析上面的需求,我们进入设计阶段。也就是方案形成阶段。我们设计出几套不同风格的界面用于被选。 C、调研验证阶段 几套风格必须保证在同等的设计制作水平上,不能明显看出差异,这样才能得到用户客观真实的反馈。 测试阶段开始前我们应该对测试的具体细节进行清楚的分析描述。 调研阶段需要从以下几个问题出发: 用户对各套方案的第一印象 用户对各套方案的综合印象 用户对各套方案的单独评价 选出最喜欢的 选出其次喜欢的 对各方案的色彩,文字,图形等分别打分。 结论出来以后请所有用户说出最受欢迎方案的优缺点。 所有这些都需要用图形表达出来,直观科学。

图形用户界面的设计课案

人机交互基础教程 实验报告 实验题目:图形用户界面的设计 专业计算机科学与技术 学生姓名 班级学号 教师 指导单位计算机软件学院 日期

教师 评语教师签名: 年月日 成绩评定 备注

一、实验目的 (1)熟悉图形用户界面的设计原则 (2)利用一种设计工具完成图形化的用户界面设计 二、预备知识 图形用户界面又称为WIMP界面,由窗口(windows)、图标(icons)、菜单(menu)、指点设备(pointing device)四位一体,形成桌面(desktop) ,如图所示。 WIMP界面 用 户 手 眼 击键/指点 窗口、图标 菜单、文本 应用例程 图形用户界面是当前用户界面的主流,广泛应用于各档台式微机和图形工作站。图形用户界面的共同特点是以窗口管理系统为核心,使用键盘和鼠标器作为输入设备。窗口管理系统除了基于可重叠多窗口管理技术外,广泛采用的另一核心技术是事件驱动(event-driven)技术。 WIMP界面可看作是第二代人机界面,是基于图形方式的人机界面。在WIMP界面中,人被称为用户,人机通过对话进行工作。用户只能使用手这一种交互通道输入信息,通过视觉通道获取信息。在WIMP界面中,界面的输出可以为静态或动态的二维图形或图像等信息。

这种方式能同时输出不同种类的信息,用户也可以在几个工作环境中切换而不丢失几个工作之间的联系,通过菜单可以执行控制型和对话型任务。由于引入了图标、按钮和滚动条技术,大大减少键盘输入,提高了交互效率。基于鼠标和图形用户界面的交互技术极大地推动了计算机技术的普及。 (1)图形用户界面的三个重要思想 1)桌面隐喻(desktop metaphor) 指在用户界面中用人们熟悉的桌面上的图例清楚地表示计算机可以处理的能力。隐喻的表现方法:静态图标、动画、视频2)所见即所得(What You See Is What You Get,WYSIWYG) 显示的用户交互行为与应用程序最终产生的结果是一致的。 3)直接操纵(direct manipulation) 直接操纵是指可以把操作的对象、属性、关系显式地表示出来,用光笔、鼠标、触摸屏或数据手套等指点设备直接从屏幕上获取形象化命令与数据的过程。直接操纵的对象是命令、数据或是对数据的某种操作。 (2)设计图形用户界面的原则 1) 一般性原则:界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致 2) 颜色的使用:颜色是一种有效的强化手段,同时具有美学价

java面向对象程序设计实验 5建立图形用户界面

实验 5 建立图形用户界面 一、实验目的 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。 二、实验要求 1. 掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。 2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 了解Java Swing 组件的使用方法。 5. 了解对话框的使用方法。 三、实验内容 前面的在于体会,重点完成(六)的编程题。 (一)创建图形用户界面 图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。 1.在Applet 中添加标签、按钮并使用网格布局 ?程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。 ?编写KY7_1.java 程序文件,源代码如下。 import java.awt.*; import java.applet.Applet; public class KY6_1 extends Applet { Label l1; Button b1, b2, b3, b4, b5, b6; public void init() { setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格)

详细设计方案 - 界面设计说明

详细设计方案界面设计说明 2016.09

界面设计方案 总述 基本设计思路是所有的查询操作只通过一个文本框进行输入,如果不进行精确类别选择,将提供指定城市内的全局数据的模糊查询。 界面总览 展示的地图为右上城市列表中所选的城市的地图的全市总览。登入时默认城市为上海。 城市列表效果说明 城市列表应该按省份分开显示。 效果示意如下:

内部同时提供搜索框,帮助迅速定位城市。 效果示意如下: 定位完城市后,城市列表则收起。 效果示意如下: 查询框效果说明 查询框分为搜索输入框、类别选择菜单栏、输入提示框、结果展示框4大部分组成。 搜索输入框 用于接收用户输入的查询关键词。该输入框一直处于显示状态。 效果示意: 标注①所示的为关键字输入框。所有需要搜索的内容在此输入。 该文本框主要为接收用户所输入的查询关键字。 当在查询框输入内容后,该文本框末尾处将出现一个“X”的清除按钮控件,点击该按钮可以快速清除文本框中内容。参见示意图。 在输入内容时候,如果匹配到相关结果,将会在该文本框底部弹出输入提示框。效果示意如下:

如果无匹配结果,则不弹出“输入提示框”。 如果用户在该输入框中输入内容后,可以通过点击“回车键”激活查询(相当于点击“搜索按钮”),结果将显示在“结果展示框”内。 标注②为类别菜单通知栏。 该通知栏用于提示用户当前进行的搜索类别为何种类别。同时当用户进行搜索的时候,所要进行的搜索方式也据此决定。 此处的图标由用户在“类别选择菜单”中所点选的决定。用户在“类别选择菜单”中点选菜单后,其对应的图标也会显示在此。 标注③为搜索按钮。 点击该按钮后,如果“关键字输入框”内有输入的内容,则将激活查询,否则将不会做任何动作。 类别选择菜单栏 用于给用户选择所要进行的查询方式。本菜单栏默认为隐藏。 (建议菜单通过数据接口获得) 效果示意:

第9次实验教案_图形用户界面程序设计

实验9 图形用户界面程序设计 实验目的: 1、通过编写程序掌握按钮、标签、文本框、菜单的使用方法 2、掌握ActionEvent、ItemEvent事件类接口监听器的产生,添加方法 3、掌握复选框、的创建与常用的使用方法 4、掌握以上各控件的事件响应过程及相应的处理方法 实验内容:(使用Jbuilder2005编写Application) 一、新建主类及主窗体 1.新建工程:【file】-【new project】,输入工程名Tes9; 2.新建Application:【file】-【new General】-Application,输入工程名主类名(class name 如图琐事),点击【next】,输入主窗体名:TestFrame,和标题栏文字“实验9主窗体”;

3.在打开的主窗体中点击【UI】视图,添加一个Swing控件:“File JMenuBar”如图所 示; 4.点击主窗体中【Menu】视图,添加菜单后,运行界面如下图所示:

二、新建“设置标签颜色”窗体 1.新建窗体:【new】-【Greneral-Frame】,在代码视图中,找到jbInit()方法设置窗体大 小及标题,语句如下:this.setSize(360,140); this.setTitle("设置标签颜色"); 2.在窗体中加入两个按钮名分别为“红色”,“蓝色”,还有一标签,其中显示的内容为 “hello,world”,要求按“红色”按钮时标签中的文字变为红色,按“蓝色”按钮时标签中文字显示蓝色,程序界面如下图所示: 提示: 使用jLabel1.setForeground(Color.RED);来改变标签的字体颜色。 3.在主窗体中的代码视图中定义成员变量Frame1 f; 4.然后进入主窗体的设计视图,对主菜单编程,双击鼠标(如图所示),

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1) 一实验目的 (1)掌握Frame与面板的使用 (2)布局管理器的使用 (3)布局管理器的使用 (4)边界风格的使用 (5)掌握简单Java事件的处理 二实验内容 1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。采用FlowLayout布局管理器。 程序: import java.awt.*; import javax.swing.*; public class Con1{ private JFrame f; private JButton b1,b2,b3,b4,b5,b6,b7,b8; public static void main(String args[]){ Con1 c=new Con1(); c.go(); } public void go(){

f=new JFrame("My Frame"); Container con=f.getContentPane(); con.setLayout(new FlowLayout()); con.setBackground(Color.white); con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50)); b1=new JButton("按键1"); b2=new JButton("按键2"); b3=new JButton("按键3"); b4=new JButton("按键4"); b5=new JButton("按键5"); b6=new JButton("按键6"); b7=new JButton("按键7"); b8=new JButton("按键8"); con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4); con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8); f.setSize(1000,1000); f.setVisible(true); } } 结果:

用户界面设计与实现

6.831 用户界面设计与实现 2004年秋季 GR0: 项目计划 本课程的核心是一个学期长的项目,其中,你将设计、实现并评估一个用户界面。用户界面设计是一个迭代过程,因此,你不能一次就建立好自己的UI,而要经过三次,逐步达到更高的精度,实现更完整的原型。为了有充足的时间实现这些迭代,我们需要尽早地开始该项目。 项目小组可以包括2到3个人。你们有很大的自由选择自己的主题。下面的一些指导原则会帮助你们选择一个好的主题。 ?项目必须有大量的用户界面。只是单纯播放MP3文件的程序是不够的;而允许用户浏览并组织MP3文件集合的播放器会更好。 ?用户界面必须是交互的。不允许开发一个只有静态web页面组成的web站点;而具有产品查询和购物车功能的电子商务网站更好。 ?首选有创意、原始的项目。已经有数不清的MP3播放器和电子商务购物车了。如果你的项目属于这样的热点领域,那么你应该选择一个该领域中使用现有方案尚不能很好解决的问 题。 你的项目可以与你课外的研究领域相关。如果在你们的研究小组中你或者其他人的系统需要一个良好的用户界面,那也可以作为该学期的项目。校园周围的其他组织或者活动需要特定的软件需求,你也才可以从中获得灵感,找到好的项目:宿舍或生活群体、体育队、活动小组、班级等。 大部分项目可能是桌面或者web应用程序,但是你可以建议使用其他类型的UI,只要适合于你希望解决的问题:例如,语言、手势、掌上电脑、或者普适计算。但至少必须能够在桌面上模拟你的项目,因为原型之一就是这样的一种模拟。不要过分地要求自己;例如,如果你们小组成员都没有掌上电脑的编程经验,那么要开发有这种需求的项目时应该深思熟虑。教学人员可以给你们选择的UI提供一些帮助,但我们也不是全能的。 这里有一些项目的例子,可能会激发你们的想象力: ?可定制的远程控制器。允许用户使用该界面创建和使用定制的远程控制面板遥控嵌入式设备,如电灯、A/V设备、家用电器。

实验二基于图形用户界面程序设计

实验二基于图形用户界面程序设计(上)实验目的 1.了解图形用户界面程序设计方法。 2.掌握继承的概念和继承的使用。 3.掌握访问权限的种类以及使用方法。 4.学会使用控件。 实验指导 任务一: 内容: 表 表 并定义该类的构造函数,写一段代码来测试你所写的类。 提交: 代码: ; { ; ; ; ;

{ ("我的无参数构造函数"); } () { ""; (); } () { ; (); } () { ; (); } () { "男"; (); } ( []) { (); (); (); (); (); } } 运行结果: :\\> 我的无参数构造函数 男 存在的问题和解决办法:

任务二: 内容: 表 并定义该类的构造函数,写一段代码来测试你所写的类。提交: 代码: ; { ; ; ; ; () { ("我的无参数构造函数"); } () { ""; (); } () { ; (); } () { ; ();

() { "男"; (); } ( []) { (); (); (); (); (); (); } } { ; () { ("我(子类)的无参数构造函数"); } () { ""; (); } } 运行结果: :\\> 我的无参数构造函数 我(子类)的无参数构造函数 男 存在的问题和解决办法:

任务三: 编写以下代码观察其运行结果,并解释每行代码: 提交: 包含解释的代码: 运行结果:

存在的问题和解决办法: 任务四: 用生成一个图像界面,在上添加两个组件,观察运行结果。提交: 代码: .*; { ; ; () { (""); (""); (""); ()(); ()(); (); (); } ( []) { (); } }

实验6图形用户界面设计及代码

实验6. 图形用户界面设计 一、 实验目的 1. 掌握图形对象属性的基本操作; 2. 掌握菜单及对话框设计、建立控件对象的方法。 二、 实验环境 1. 计算机; 2. Matlab 软件。 三、 实验说明 1. 正确操作,认真观察; 2. 实验学时:2学时; 3. 学会使用help ; 4. 保存整理实验结果,提交实验报告。 四、 实验内容 1.设计如教材P374 图1所示的菜单,并在此基础上增加选项:可以改变曲线的颜色、线型;可以改变窗口背景颜色。 2.(选做)采用图形用户界面,从键盘输入参数a 、b 、n 的值,考察参数对极坐标曲线)cos(θρn b a +=的影响。 五、 实验程序及结果 1.程序:screen=get(0,'ScreenSize'); W=screen(3);H=screen(3); figure('Color','w','Position',[*H,*H,*W,*H],... 'Name', '菜单设计实验' ,'NumberTitle','off','MenuBar','none'); hplot=uimenu(gcf,'Label','&Plot'); %定义plot 菜单项 uimenu(hplot,'Label','Sine Wave','Call',... ['t=-pi:pi/20:pi;','h0=plot(t,sin(t));', 'set(h0,''UIContextMenu'',ht);',... 'set(hlr,''Enable'',''on'');',

'set(hlg,''Enable'',''on'');','set(hlb,''Enable'',''on'');',... 'set(hsx,''Enable'',''on'');','set(hss,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',... ['t=-pi:pi/20:pi;','h0=plot(t,cos(t));', 'set(h0,''UIContextMenu'',ht);',... 'set(hlr,''Enable'',''on'');','set(hlg,''Enable'',''on'');', 'set(hlb,''Enable'',''on'');',... 'set(hsx,''Enable'',''on'');','set(hss,''Enable'',''on'');']); uimenu(hplot,'Label','&Exit','Call','close(gcf)'); ho=uimenu(gcf,'Label','&Option'); %定义Option菜单项 hw=uimenu(ho,'Label','&Window Color'); uimenu(hw,'Label','&Red','Call','set(gcf,''Color'',''r'');'); uimenu(hw,'Label','&Green','Call','set(gcf,''Color'',''g'');'); uimenu(hw,'Label','&Blue','Call','set(gcf,''Color'',''b'');'); uimenu(hw,'Label','&White','Call','set(gcf,''Color'',''w'');'); hl=uimenu(ho,'Label','&Line Color','Separator','on'); hlr=uimenu(hl,'Label','&Red','Call',... 'set(h0,''Color'',''r'');','Enable','off'); hlg=uimenu(hl,'Label','&Green','Call',... 'set(h0,''Color'',''g'');','Enable','off'); hlb=uimenu(hl,'Label','&Blue','Call',... 'set(h0,''Color'',''b'');','Enable','off'); hlw=uimenu(hl,'Label','&White','Call',... 'set(h0,''Color'',''w'');','Enable','off'); ht=uicontextmenu; s=uimenu(ht,'Label','Linestyle'); hs=uimenu(ho,'Label','&Linestyle','Separator','on'); hsx=uimenu(hs,'Label','&双划线','Call',...

界面设计方案

界面设计方案

目录 一、概述 (3) 二、用户界面设计原则 (3) 三、关于软件界面设计 (5) 1.用户导向(User oriented)原则 (5) 2.KISS(Keep It Simple And Stupid)原则 (6) 3.布局控制 (6) 4.视觉平衡 (7) 5.色彩的搭配和文字的可阅读性 (8) 6.和谐与一致性 (9) 7.个性化 (9) 四、关于网页界面设计 (10) 五、交互设计 (11) 六、图标 (11) 七、界面设计需求分析 (11) 八、界面参考 (12) 福隆界面设计 (12) 其他界面欣赏 (15) 1.WebQQ (15) 2. 一个虚拟展会软件的中国官网设计 (16) 3.香港置地集团 (20) 4、图标 (23) 5.景观园林 (28) 6.一组精美的外国网页 (30) 7、匈牙利M1LLAH网页界面欣赏 (38) 8、Web design 页面设计收集 (42) 9. 色彩与质感并重的国外网页设计欣赏 (47) 10、漂亮简洁的布局 (56)

一、概述 界面设计是人与机器之间传递和交换信息的媒介,包括硬件界面和软件界面,是计算机科学与心理学、设计艺术学、认知科学和人机工程学的交叉研究领域。近年来,随着信息技术与计算机技术的迅速发展,网络技术的突飞猛进,人机界面设计和开发已成为国际计算机界和设计界最为活跃的研究方向。 UI即 User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。 二、用户界面设计原则 1.简易性 界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。 2.用户语言 界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。 3.记忆负担最小化 人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。所以对用户来说,浏览信息要比记忆更容易。

相关主题
文本预览
相关文档 最新文档