Java的图形用户界面设计.ppt_第1页
Java的图形用户界面设计.ppt_第2页
Java的图形用户界面设计.ppt_第3页
Java的图形用户界面设计.ppt_第4页
Java的图形用户界面设计.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 基础培训,第9章 Java的图形用户界面设计,2,9.1 图形用户界面设计概述,GUI:Graphics User Interface,图形用户界面。 Java的图形用户界面技术经历了两个发展阶段,分别通过提供AWT开发包和Swing开发包来体现,而且功能越来越强大,界面设计越来越美观。,3,9.2 AWT图形用户界面,AWT:Abstract Windows Toolkit ,抽象窗口工具包。是Java提供的建立图形用户界面GUI的开发包,它支持图形用户界面编程的主要功能。 9.1.1 java.awt包 AWT可用于Java的Applet和Application中 它支持图形用户界面编程的主要功能包括:用户界面构件;事件处理模型;图形和图像工具,如形状、颜色和字体类;布局管理器等。 java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念,每个概念对应着一个类。 构件:Component,它是该包的核心,是一个抽象类,其他构件都是从它衍生出来的。 容器:Container,从Component类继承而来,用来管理构件。 布局管理器:LayoutManager,确定容器内构件的布局。,4,9.2 AWT图形用户界面,5,9.2 AWT图形用户界面,9.2.2 构件和容器类 构件类(Component) Java的图形用户界面的最基本组成部分是构件(Component)。构件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,如一个按钮、一个标签等。 类java.awt.Component是许多构件类的父类,一般编程过程 中采用的都是Component类的子类;但是Component类中也封装了构件通用的方法和属性,如图形的构件对象、大小、显示位置、前景色、边界和可见性等。,6,9.2 AWT图形用户界面,Component类的部分重要的成员方法包括: getComponentAt(int x,int y):获得坐标(x,y)上的构件对象。 getFont():获得构件的字体。 getForeground():获得构件的前景色。 getName():获得构件的名字。 getSize():获得构件的大小。 paint(Graphics g):绘制构件。 repaint():重新绘制构件。 update():刷新构件。 setVisible(boolean b):设置构件是否可见。 setSize(Dimension d):设置构件的大小。 setName(String name):设置构件的名字。,7,9.2 AWT图形用户界面,容器类(Container) Container是一个类,实际上是Component的子类,因此容器本身也是一个构件,具有构件的所有性质,另外还具有放置其他构件和容器的功能。 布局管理器类(LayoutManager) 布局管理器是用来管理构件放置在容器的位置和大小的。每个容器都有一个布局管理器,当容器需要对某个构件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。 容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的构件都可以通过add()方法向容器中添加构件。,8,9.2 AWT图形用户界面,Java常用的容器有Frame、Panel等。 (1)窗口(Frame)。 (2)面板(Panel)。Panel通常称为面板,Panel是一种透明的容器,既没有标题,也没有边框,就像一块透明的玻璃。与Frame不同,它不能作为最外层的容器单独存在,它首先必须作为一个构件放置到其他容器中,然后再把它当作容器,把其他构件放到它里面。,9,9.3 布局管理,9.3.1 布局管理概述 与版面配置有关的类有FlowLayout类、BorderLayout类、CardLayout类、GridLayout类和GridBagLayout类,这些类都继承自java.lang.Object类,它们都放在AWT包中。 9.3.2 FlowLayout布局管理器 布局效果: 构件在容器内按照加入次序逐行定位,行内从左到右,一行排满后换行 不改变构件尺寸,即按照构件原始大小进行显示,10,9.3 布局管理,此类的声明方式为: setLayout(new FlowLayout(int align); setLayout(new FlowLayout(int align ,int h,int v); setLayout(new FlowLayout(); 说明: align为组件对齐方式,可以取三个常量,分别为LEFT、CENTER、RIGHT h、v分别为组件间的水平间隔数和垂直间隔数。缺省时,对齐方式为居中,组件间的横纵间距都为5个像素。 FlowLayout类的第三种构造方法为:对齐方式为居中,组件间的横纵间距都为5个像素。,11,9.3 布局管理,9.3.3 BorderLayout布局管理器 BorderLayout是Windows、Frame和Dialog的默认布局管理器。 布局效果: BorderLayout将整个容器的布局划分成东(East)、西(West)、南(South)、北(North)和中央(Center)五个区域 如不指定构件的加入部位,则默认加入到中央(Center) 区域 每个区域只能放置一个构件。如加入多个,则先前被加入构件将被遗弃 构件尺寸被强行控制,即与其所在区域尺寸相同 BorderLayout类的声明方式为: setLayout(new BorderLayout(); setLayout(new BorderLayout(int h,int v); 说明: h、v分别为组件间的水平间隔数和垂直间隔数,而第一种布局管理组件间的默认间隔为0。例9.4,12,9.3 布局管理,9.3.4 GridLayout布局管理器 布局效果: 将容器区域划分成规则的矩形网格,每个单元格区域大小相等,构件被添加到每个单元格中,按构件加入顺序先从左到右填满第一行后换行,行间从上到下 GridLayout型布局的构件大小被布局管理器强行控件制,大小与单元格同等大小,当容器尺寸发生改变时,构件的相对位置保持不变,但大小自动调整 GridLayout类的常用声明方式为: setLayout(new GridLayout(); setLayout(new GridLayout(int r,int c); setLayout(new GridLayout(int r,int c ,int h,int v); 说明: 其中r为行,c为列,h为水平间距,v为垂直间距。,13,9.3 布局管理,9.3.5 CardLayout布局管理器 布局效果: 将多个构件在同一容器区域内交替显示,相当于多张卡片摞在一起,只有最上面的卡片是可见的 CardLayout可以按名称显示某一张卡片,或按先后顺序依次显示,也可以直接定位到第一张或最后一张卡片 CardLayout 类的常用声明方式为: setLayout(new CardLayout(); setLayout(new CardLayout(int h,int v); 此类中常用的方法有: first(Container parent),显示第一张卡片。 last(Container parent),显示最后一张卡片。 next(Container parent),显示下一张卡片。 previous(Container parent),显示前一张卡片。 show(Container parent,String name),显示指定名称的卡片。,14,9.3 布局管理,9.3.8 Null布局管理器 在某些情况下,用户不想使用布局管理器,需要自己设置组件的位置和大小,这时应取消容器的布局管理器,然后再进行设置,否则用户自定义的设置将会被布局管理器覆盖。 取消布局管理器的方法是:使用setLayout(null)语句,然后再使用setLocation()、setSize()、setBounds()等方法为组件设置位置和大小。 需要注意的是,这种方法会导致程序的运行效果与系统相关。例如,不同的分辨率会产生不同的效果。 容器的嵌套使用,15,9.4 事件处理,9.4.1 Java的事件类 Java中,所有的事件类都放在java.awt.event包中,而和AWT有关的所有事件类都由AWTEvent类派生。,16,9.4 事件处理,低级事件 ComponentEvent:构件尺寸的变化、移动。 ContainerEvent:容器事件,构件增加、移动。 WindowEvent:窗口事件,关闭窗口,窗口闭合,图标化。 FocusEvent:焦点事件,焦点的获得和丢失。 KeyEvent:键盘事件,键按下、释放。 MouseEvent:鼠标事件,鼠标单击、移动。 高级事件(语义事件) ActionEvent:动作事件,按下按钮或按下文本框中的回车键产生。 AdjustmentEvent:调节事件,用户在滚动条上移动滑块产生。 ItemEvent:项目事件,选择项目等产生。 TextEvent:文本事件,文本对象的改变。,17,9.4 事件处理,9.4.2 事件处理模式 在事件处理过程中,主要涉及3类对象。 Event:事件,用户对界面操作在Java语言上的描述,以类的形式出现。例如,键盘操作对应的事件类是KeyEvent。 Event Source:事件源,事件发生的场所,通常就是各个构件,如Button。 Event Handler:事件处理者,接收事件对象并对其进行处理的对象。 例如,如果用户用鼠标单击了按钮对象button,则该按钮就是事件源,即产生事件的根源,而Java运行时系统会自动生成ActionEvent类的对象e,该对象中描述了该单击事件发生时的一些信息,然后,事件处理者对象将接收由Java运行时系统传递过来的事件对象e并进行相应的处理。,18,9.4 事件处理,9.4.3 AWT事件及其相应的监听接口 表9.1,19,9.4 事件处理,ActionEvent类 当一个按钮被按下,列表框中的一项被选择,或者一个菜单项被选择时都会产生一个ActionEvent类型的事件。 KeyEvent类 一个KeyEvent事件是当键盘输入发生时产生。 键盘事件有三种,它们分别用整型常量KEY_PRESSED、KEY_RElEASED和KEY_TYPED来表示。 KeyEvent类通常有两个方法经常使用: char getkeyChar( )int getkeyCode( ),20,9.4 事件处理,MouseEvent类-鼠标事件有7种类型 MOUSE_CLICKED 用户点击鼠标 MOUSE_DRAGGED 用户拖动鼠标 MOUSE_ENTERED 鼠标进入一个组件内 MOUSE_EXITED 鼠标离开一个组件 MOUSE_MOVED 鼠标移动 MOUSE_PRESSED 鼠标被按下 MOUSE_RELEASED 鼠标被释放,21,9.4 事件处理,WindowEvent类-窗口事件有7种类型 WINDOW_ACTIVATED 窗口被激活 WINDOW_CLOSED 窗口已经被关闭 WINDOW_CLOSING 用户要求窗口被关闭 WINDOW_DEACTIVATED 窗口被禁止 WINDOW_DEICONIFIED 窗口被恢复 WINDOW_ICONIFIED 窗口被最小化 WINDOW_OPENED 窗口被打开,22,9.4 事件处理,实现授权代理模式的步骤 1、在事件处理类中实现相应的监听器接口,以便接收相应的事件。 2、实现注册或注销监听器的代码,以便可以得到事件的通知。 注意:一个事件源可能产生多种类型的事件。,class Test implements KeyListener public void keyPressed(KeyEvent ke) public void keyReleased(KeyEvent ke) public void keyTyped(KeyEvent ke) ,事件处理类,事件监听接口,在监听器中实现接口的方法,由事件源产生的事件类对象,23,9.4 事件处理,说明: 事件处理者(监听器)通常是一个类,该类如果要处理某种类型的事件,就必须实现与该事件类型相对应的接口。 由于在同一个事件源上可能发生多种事件,因此Java采取了授权处理机制(Delegation Model),事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。,24,9.4 事件处理,9.4.4 事件适配器 在程序中,一旦所定义的类实现某个事件监听接口,则必须将接口中定义的所有抽象方法重新书写方法体。对于一个具体程序,这些方法中真正有用的只有少数几个。为了避免这种麻烦,Java为一些事件接口提供了适配器(Adapter)类,可以通过继承事件上所对应的Adapter类,重写需要的方法,无关方法不用实现。,25,9.5 Swing图形用户界面,9.5.1 Swing概述 Swing是Java语言在编写图形用户界面方面的新技术,它在AWT的基础上向前发展,提供了许多开发包,极大地丰富了Java的图形界面功能。 Swing是由纯Java实现的轻量级(light-weight)构件,没有本地代码,不依赖操作系统的支持,这是它与AWT构件的最大区别。由于AWT构件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT构件具有更强的实用性。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其他特性。 Swing包称为javax.swing。,26,9.5.1 Swing概述,常用组件,27,9.5.1 Swing概述,常用组件,28,9.5.1 Swing概述,常用组件,29,9.5.2 Swing类的层次结构,Swing的类层次结构如下所示: Java.awt.Component -java.awt.Container -java.awt.Window -java.awt.Frame-javax.swing.JFrame -javax.Dialog-javax.swing.JDialog -javax.swing.JWindow -java.awt.Applet-javax.swing.JApplet -javax.swing.Box -javax.swing.JComponet,30,9.5.3 常用容器组件,JFrame框架 框架JFrame是带标题、边界、窗口状态调节按钮的顶层窗口,它是构建Swing GUI应用程序的主窗口,也可以是附属于其他窗口的弹出窗口(子窗口)。每一个Swing GUI应用程序都应至少包含一个框架。JFrame类继承于Frame类。 JFrame类的构造方法: JFrame(),创建一个无标题的框架。 JFrame(String title),创建一个有指定标题的框架。 说明: JFrame共包含四个窗格,常用内容窗格(ContentPane) 得到内容窗格方法getContentPane() 使用其他容器替换内容窗格方法setContextPane() 关闭按钮: setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),例9.13,31,9.5.3 常用容器组件,JPanel面板 JPanel是一种中间容器,可以容纳组件,但它本身必须添加到其他容器中使用。另外,JPanel也提供一个绘画的区域,可以替代AWT中的画布Canvas(不存在JCanvas类)。 JPanel的构造方法: JPanel(),默认FlowLayout布局。 JPanel(LayoutManager layout),创建指定布局管理器的JPanel对象。 说明: JPanel可以设定边界,方法:setBorder(Border border),例9.14,32,9.5.4 标签,JLabel用来显示包含文字或图形的标签,用户不能编辑所显示的文字 JLabel类常用的构造方法: public JLabel():实例化一个没有文本的空标签。 public JLabel(String text):实例化一个带有文件的标签。 public JLabel(Icon icon):实例化一个加载图标文件的标签。 public JLabel(Icon icon, int alignment):实例化一个加载图标文件,且文字按指定对齐方式排列文本的标签。 public JLabel(String Text,Image Icon, int alignment):实例化一个加载图标文件,上面带有文字,且按指定对齐方式排列文本的标签,文字显示在图形的后面。 说明: 参数alignment可以采用JLabel.LEFT、JLabel.RIGHT和JLabel.CENTER三种方式。,33,9.5.4 标签,JLabel常用的方法: void setText(String text):定义该组件所能显示的文字。 void setIcon(Icon icon):定义该组件所能显示的图形。 void setIconTextGap(int gap):定义文字和图形间的距离,单位为像素。 void setHorizontalAlignment(int alignment):设置标记内容的水平对齐方式(LEFT,CENTER、RIGHT、LEADING和TRAILING) void setHorizontalTextPosition(int alignment):设置标记内文字相对于图形的水平位置(LEFT、CENTER、RIGHT,LEADING和RAILING) void setVerticalAlignment(int alignment):设置标记内容的垂直对齐方式(TOP,CEINTER和BOTTOM)。 void setVerticalTextPosition(int alignment):设置标记内文字相对于图形的垂直对齐方式(TOP、CEINTER和BOTTOM)。,34,9.5.5 按钮,JButton类常用的构造方法: JButton():生成一个没有标签和图标的JButton对象。 JButton(Icon icon):生成以图形表示的JButton对象。 JButton (String text):生成以文字表示的JButton对象。 JButton(String text, Icon icon):生成包含文字和图形的JButton对象。 JButton按钮常用方法: setActionCommand():设置动作命令 setMnemonic() :设置快捷字母键 getLabel() :获取按钮标签 setLabel(String Label) :设置按钮标签 setEnabled(Boolean b) :设置按钮是否被激活,35,9.5.5 按钮,JButton组件引发的事件是ActionEvent,需要实现动作监听接口ActionListener中的actionPerformed()方法 注册事件监听器使用方法addActionListener() 确定事件源可以使用方法getActionCommand()或getSource()。,36,9.5.6 文本组件,文本框有多种,Java的图形用户界面中提供了单行文本框、口令框和多行文本框。 JTextField只能对单行文本进行编辑,一般情况下接收一些简短的信息,如:姓名、年龄等信息。 JTextField的构造方法如下: JTextField():创建一个单行文本框。 JTextField(int Columns):创建一个指定长度的单行文本框。 JTextField(String text):创建一个带有初始文本的单行文本框。 JTextField(String text,int columns):创建一个带有初始文本并且指定长度的单行文本框。,37,9.5.6 文本组件,JTextArea JTextArea构造方法: JTextArea():构造新的 TextArea JTextArea(String text):构造显示指定文本的新的 TextArea JTextArea(int rows, int columns):构造具有指定行数和列数的新的空 TextArea JTextArea(String text, int rows, int columns):构造具有指定文本、行数和列数的新的 TextArea。 JTextArea(Document doc) :构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0) JTextArea(Document doc, String text, int rows, int columns):构造具有指定行数和列数以及给定模型的新的 JTextArea,38,9.5.7 复选框,复选框是一组具有开关的按钮,复选框支持多项选择。 复选框(JCheckBox) 常用的构造方法: JCheckBox():生成无文本和图像初始未选中的复选框对象。 JCheckBox(String str):生成包含文字的复选框。 JCheckBox(String str,boolean selected):生成包含文字的复选框,若selected为true,则此复选框处于被选中状态。 JCheckBox(Icon icon):生成包含图标的复选框。 JCheckBox(Icon icon,boolean selected):生成包含图标的复选框,若selected为true,则此复选框处于被选中状态。 JCheckBox(String str,Icon icon):生成包含文本和图案的复选框。 JCheckBox(String str,Icon icon,boolean selected):生成包含文本和图案的复选框,若selected为true,则此复选框处于被选中状态。,39,9.5.7 复选框,JCheckBox的一个重要方法是判断复选框按钮的状态: boolean isSelected():若这个方法返回值为true,则表示此按钮处于选中状态,否则处于没被选中状态。 JCheckBox触发的事件是ItemEvent,需要实现的监听器接 口为ItemListener,重写其中的itemStateChanged()方法来处 理事件。,40,9.5.8 单选按钮,单选按钮(JRadioButton)也是具有开关的按钮,与复选框类似。不同的是同组的单选按钮只有一个可以被选中,不能多选。 JRadioButton的构造方法与JCheckBox类似,另外,要在一组按钮中选中一个,所以要用ButtonGroup将一组单选按钮通过add()方法加在一起。 JRadioButton触发的是ActionEvent事件,注册ActionListener监听器接口。,41,9.5.9 列表框,列表框(JList)将所有选项在列表中列出,用户可以在这些选项中选择一个或多个。当选项较多时,JList会自动出现滚动条。 JList常用的构造方法: JList():生成JList类对象。 JList(Object items):生成包含数组内所有元素的JList。 JList(Vector items):生成包含Vector内所有元素的JList。 JList有一些成员方法: int getSelectedIndex():返回第一个被选择的项目的索引 void setSelectedIndex(int index):返回选择的指定索引的项目 int getSelectedIndices():按升序返回被选择项目索引的数组 void setSelectedIndices(int index):选择指定索引数组的项目 说明:对应的将以上方法中的index替换为value,将Indices替换为Values,则可以返回所选择的项目内容和选择指定内容的条目。,42,9.5.10 组合框,组合框(JComboBox)和列表框类似,是列表框的一种变体,可以看作JTextField组件和JList组件的结合。当用户单击列表按钮时,才会出现下拉选项列表,所以它节省空间。组合框可以设置成可编辑与不可编辑两种形式,不可编辑模式下仅仅相当于一个List,设置成为可编辑模式时,用户可以对当前选中的项目进行编辑。但它只能有一个选项被选中。 组合框(JComboBox)常用的构造方法: JComboBox():生成JComboBox类的对象。 JComboBox(Object items):生成包含数组内所有元素的JComboBox。 JComboBox(Vector items):生成包含Vector内所有元素的JComboBox。,43,9.5.10 组合框,组合框有一些常用的方法: int getItemSelectedIndex():得到被选项目的索引号。 void setSelectedIndex(int anIndex):选取指定索引号的项目 int getSelectedItem():得到被选项目。 void setSelectedItem(Object anObject):选取指定项目。 JComboBox触发ItemEvent事件,注册ItemListener监听器。,44,9.5.11 滚动条,JScrollBar(滚动条)组件用来选取某一个介于最大值与最小值之间的值。 JScrollBar可分为水平滚动条(Horizontal scroll bar)和垂直滚动条(Vertical scroll bar)两种。 类定义 public class JScrollBar extends Component implements Adjustable JScrollBar类包含了用户接口对象滚动条,通过使用滚动条,用户可以在有限的屏幕区域内显示很大区域的某一部分。 域 public static final int HORIZONTAL表示水平滚动条的常 public static final int VERTICAL表示垂直滚动条的常量。,45,9.5.11 滚动条,构造函数 public JScrollBar():构造一个新的垂直滚动条。 public JScrollBar(int orientation):按指定的方向构造一个新的滚动条。方向参数取HORIZONTAL或VERTICAL,分别表示水平或垂直方向的滚动条。 public JScrollBar(int orientation,int value,int visible,int minimum,int maxmum): 说明:orientation表示滚动条的方向; value为当前滚动条的大小, visible表示可见范围的大小; minimum滚动条的最小值; maxmum滚动条的最大值。 功能:构造一个指定方向、初始值、页大小以及最大、最小值的新的滚动条。,46,9.5.12 菜单,Swing菜单分为两种:下拉式菜单和弹出式菜单。 其中下拉式菜单由几个部分组成:菜单条(JMenuBar)、菜单条上的菜单(JMenu)和菜单下拉列表中的菜单项(JMenuItem)。 Swing菜单实际上是使用按钮建立的,所以可以对它们使用动作监听器(ActionListener)来处理菜单事件。 菜单条(JMenuBar) 向程序中添加菜单系统,必须使用JMenuBar类创建一个菜单条:JMenuBar jmb=new JMenuBar(); 将菜单条加入到容器中使用专门的设置菜单条的方法:setJMenuBar(JMenuBar m); 例如:利用此方法可向框架窗口或Applet中添加菜单条 JMenuBar m=new JMenuBar(); JFrame f=new JFrame(); f.getContentPane().setJMenuBar(m);,47,9.5.12 菜单,菜单(JMenu) 新创建的菜单条中什么都没有,需要将自己的菜单添加进去。以使用JMenu类来创建菜单。 JMenu类的构造方法有: JMenu():生成一个没有文本的JMenu类对象。 JMenu(String str):生成一个具有指定文本的菜单。 JMenu(String str,Boolean flag):生成一个具有指定文本的菜单。若flag为true,则这个JMenu对象有可移动的菜单。 例如: JMenu jm=new JMenu(“文件“); 将菜单加入到菜单条中使用add()方法 m.add(jm); 注意:菜单不响应事件。,48,9.5.12 菜单,菜单项(JMenuItem) 构造方法: JMenuItem():生成一个空的菜单项JMenuItem。 JMenuItem(Icon icon):生成一个具有图标的JMenuItem。 JMenuItem(String str):生成一个具有文本的JMenuItem。 JMenuItem(String str,Icon icon):生成一个文本和图标的JMenuItem。 JMenuItem(String str,mnemonic):生成一个具有文本和键盘助记符的JMenuItem。 例如: JMenuItem jmt=new JMenuItem(“打开“); 将菜单项加入到菜单中,使用add()方法 jm.add(jmt); 说明:选择菜单项的效果同选择按钮一样,产生ActionEvent 事件。,49,9.5.12 菜单,弹出式菜单(JPopupMenu) JPopupMenu是在单击鼠标右键时弹出的菜单。 JPopupMenu的构造方法如下: JPopupMenu():生成一个无标题的弹出式菜单。 JPopupMenu(String title):生成一个指定标题的弹出式菜单。 创建了弹出式菜单后,可以使用add()方法在其上添加菜单 项JMenuItem的对象。,50,9.5.13 对话框,对话框是一种特殊的窗口,用于显示一些提示信息,并获得程序继续运行下去所要的数据。 对话框不能作为应用程序的主窗口,它没有最大化、最小化按钮,不能设置菜单条。 Java语言提供了多种对话框。对话框分为模式对话框和非模式对话框两种。 模式对话框:对话框出现后,要求用户必须做出相应的操作,然后才允许继续做其他工作。 非模式对话框:对此不做要求,它允许用户同时与程序其他部分进行交互。,51,9.5.13 对话框,JOptionPane对话框 JOptionPane是模式对话框,它提供了很多现成的对话框样式,可以供用户直接使用。 JOptionPane对话框构造方法: JOptionPane():创建一个显示测试信息的对话框。 JOptionPane(Object message):创建一个显示指定信息的对话框。 JOptionPane(Object message, int messageType):创建一个显示指定信息的对话框,并设置信息类型。 JOptionPane(Object message, int messageType,int optionType):创建一个显示指定类型信息、指定选项类型和图标的对话框。 JOptionPane(Object message,int messageType, int optionType, Icon icon):创建一个显示指定信息的对话框,并设置信息类型、选项类型和图标。,52,9.5.13 对话框,通常不用构造方法来创建JOptionPane的对象,而是通过JOptionPane中的静态方法showXxxDialog产生四种简单的对话框。这些方法几乎都有重载。 int showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon):显示提示信息对话框。 int showConfirmDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon):显示确认对话框,要求用户回答YES或NO。 int showConfirmDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon, Object selectionValues,Object initialselectionValue):显示输入对话框,让用户输入信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论