Java程序设计第13章图形用户界面GUIppt课件.pptx

上传人:牧羊曲112 文档编号:1995407 上传时间:2022-12-30 格式:PPTX 页数:87 大小:950.35KB
返回 下载 相关 举报
Java程序设计第13章图形用户界面GUIppt课件.pptx_第1页
第1页 / 共87页
Java程序设计第13章图形用户界面GUIppt课件.pptx_第2页
第2页 / 共87页
Java程序设计第13章图形用户界面GUIppt课件.pptx_第3页
第3页 / 共87页
Java程序设计第13章图形用户界面GUIppt课件.pptx_第4页
第4页 / 共87页
Java程序设计第13章图形用户界面GUIppt课件.pptx_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《Java程序设计第13章图形用户界面GUIppt课件.pptx》由会员分享,可在线阅读,更多相关《Java程序设计第13章图形用户界面GUIppt课件.pptx(87页珍藏版)》请在三一办公上搜索。

1、,导读,Introduction,图形用户界面设计是程序设计的重要组成部分,Java语言提供了丰富的组件来完成界面设计,并通过事件机制实现功能处理。,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,13.1.1 抽象窗口工具集AWT,图形用户界面(Graphic User Interface,GUI)是实现人机交互的窗口。Java早期提供的AWT包(Abstract Window Toolkit,AWT)中包括了图形用户界面设计的基本类库,它是Java设计GUI的核心,为用户提供基本的界面组件

2、。这些类都放在了java.awt包中。,13.1.1 抽象窗口工具集AWT,AWT的Component类结构,13.1.1 抽象窗口工具集AWT,AWT由下面几部分组成:Component(组件):按钮、标签、菜单等组件。Container(容器):扩展组件的抽象类Window、Panel、Frame等。LayoutManager(布局管理器):定义容器中各组件的放置位置和大小等。Graphics(图形类):与图形处理相关的类。,AWT的缺点是重量级组件,耗费资源多;图形用户界面依赖于本地系统,失去了统一的风格。,13.1.2 Swing组件,Swing组件是在AWT组件基础上发展而来的轻量级

3、组件。它提供了AWT所能提供的所有功能并进行了扩充。组件均用Java语言进行开发。界面风格统一,更为美观。组件都放在javax.swing包中。,13.1.2 Swing组件,JLabel,JList,AbstractButton,JMenuBar,JTable,JPanel,JTextComponent,JTree,JOptionPane,Component,Window,JComponent,Frame,Dialog,Container,JFrame,JDialog,JButton,JToggleButton,JMenuItem,JTextArea,JEditorPane,JTextFie

4、ld,JComponent部分类层次关系,13.1.3 组件与事件,Java是以组件的形式进行界面设计的。界面中的每一个组成部分都是一个组件,如按钮、菜单、文本框、窗口等。这些组件直接或间接继承自Component类。Container容器类是一个特殊的组件,它用于承载和显示其他组件。其他组件按照一定的顺序或位置装入容器,才能够显示和使用。,13.1.3 组件与事件,GUI事件处理机制。组件在容器中不能够直接工作,需要与完成的功能连接起来,才能实现具体的功能,这就是Java的事件机制。在事件机制下,一个事件分为事件源、监听器和事件处理程序。监听器用于监听事件源。一个监听器可以监听多个事件源。监

5、听器对象监听到事件源发生的事件后,就通知相应的事件处理程序完成对应的功能,从而实现一次事件的处理。,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,13.2.1 JFrame类,JFrame(窗口)类是Container(容器)类的间接子类。一个JFrame对象就是一个窗口,可以容纳其他组件。JFrame类的常用方法:,13.2.1 JFrame类,13.2.1 JFrame类,【例13.1】创建一个新窗口,定义该窗口大小为300*200,初始化位置为200*200,并且大小不可调整。Exam

6、ple13_01.java,【例13.2】通过继承方式创建一个新窗口Example13_02.java,13.2.2 窗口菜单,一个窗口菜单由多个组件共同构成。,JMenuBar(菜单条),用于创建一个菜单条。一个窗口中只能有一个菜单条,并且只能添加到窗口顶端。Frame添加JMenuBar的方法是:,1、JMenuBar类,setJMenuBar(JMenuBar menubar),JMenu(菜单)类,用于创建菜单。一个菜单条中可以添加多个菜单对象。一个菜单中可以添加另一个菜单,实现菜单的嵌套。JMenu类的常用构造方法:,JMenu(String s),13.2.2 窗口菜单,2、JMe

7、nu类,JMenuItem(菜单项)类用于创建菜单项,每一个菜单中可以包含多个菜单项。JMenuItem类的常用构造方法:,JMenuItem(Stringtext) JMenuItem(Stringtext,Iconicon),13.2.2 窗口菜单,3、JMenuItem类,【例13.3】创建一个带有菜单的窗口。Example13_03.java,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,13.3.1 常用组件,JButton类用于创建普通按钮。常用的构造方法:,1、JButton按

8、钮类,public JButton(String text) public JButton(String text,Icon icon),JRadioButton类用于创建单选按钮。JRadiaoButton类的构造方法:,2、JRadioButton单选按钮类和ButtonGroup按钮作用域类,public JRadioButton(String text)public JRadioButton(String text,boolean selected),13.3.1 常用组件,构造方法:,public ButtonGroup(),ButtonGroup按钮作用域类用于确定单选按钮的作用域

9、。同一个域中只能有一个单选按钮处于选中状态。,创建域对象后,调用add(AbstractButton b)方法将单选按钮加入到指定作用域中。,2、JRadioButton单选按钮类和ButtonGroup按钮作用域类,13.3.1 常用组件,3、JCheckBox复选框,JCheckBox类用于创建复选框。构造方法:,JCheckBox(String text)JCheckBox(String text,boolean selected),4、JLabel标签,JLabel类用于创建显示短文本字符串或图像的标签。常用的构造方法:,JLabel()JLabel(String text)JLabe

10、l(String text,Icon icon,int horizontalAlignment),13.3.1 常用组件,JTextField类用于创建编辑单行字符串的文本框。常用的构造方法:,5、JTextField文本框,JTextField(String text)JTextField(String text,int columns),JPasswordField类功能与JTextField类相同。不同之处:输入内容时不直接显示,而是用“*”或“”代替。常用的构造方法:,6、JPasswordField密码框,JPasswordField(String text)JPasswordFie

11、ld(String text,int columns),13.3.1 常用组件,JTextArea(String text)JTextArea(int rows,int columns)JTextArea(String text,int rows,int columns),JTextArea类用于创建显示多行文本的文本区。常用构造方法:,JScrollPane类属于容器,用于创建一个滚动条视图。与TextArea类配合,当文本区内容超出显示范围时显示滚动条。(详见13.3.2节),7、JTextArea文本区JScrollPane滚动条视图,13.3.1 常用组件,【例13.4】常用组件的使用

12、。Example13_04.java,13.3.2 常用容器,Java提供了多种容器为程序设计所使用。 容器可分为三类:顶层容器,包括JFrame、JDialog、JApplet、JWindow。普通容器,包括JPanel、JScrollPane、JSplitPane、JTabbedPane、JOptionPane。特殊容器,包括JInternalFrame、JLayeredPane、JRootPane、JToolBar。,13.3.2 常用容器,【例13.5】JWindow的简单显示。Example13_05.java,1、Jwindow,JWindow也是顶层容器,只有一个空白界面,不具有

13、标题栏和窗口管理按钮。,13.3.2 常用容器,2、JPanel,3、JScrollPane,JPanel类,Java中最常用的轻量级容器之一,默认布局管理器是FlowLayout。JPanel可以容纳其他组件,之间可以嵌套,但本身不可见,需要加入到顶层容器。常用构造方法:,JTextField(String text)JTextField(String text,int columns),JScrollPane提供轻量级组件的 Scrollable 视图用于管理滚动条。用于TextArea文本框中,它不支持重量级组件。常用构造方法:,JScrollPane()JScrollPane(Comp

14、onent view),13.3.2 常用容器,public JSplitPane(int orientation,Component left,Component right)public JSplitPane(int orientation,boolean c,Component left,Component right),JSplitPane用于将容器拆分成两个部分,每个部分各放一个组件。容器拆分时可以水平拆分和垂直拆分,中间的拆分线可以进行移动。常用构造方法:,参数orientation为JSplitPane.HORIZONTAL_SPLIT(水平分割)或 JSplitPane.VER

15、TICAL_SPLIT(垂直分割),left为放在左边(或上边)的组件,right为放在右边(或下边)的组件;参数c为true表示拆分线移动时组件跟着连续变化,为false则拆分线停止移动组件再发生变化。,4、JSplitPane,13.3.3 常用布局,每个容器使用布局管理器对存放其中的组建进行位置、大小的管理。使用布局管理器后,组件在容器中的大小和位置完全由布局管理器控制和管理,程序员不需要也不能再对组件的位置和大小进行控制。每一种容器都有默认的布局管理器。可以用setLayout()方法重新设置布局管理器。,13.3.3 常用布局,java.awt.FlowLayout是流式布局管理器。

16、把所有组件行进行排列,一行满了后自动排到下一行。组件的显示位置随着窗口的缩放而发生变化,但顺序不变。位置与添加顺序密切相关,使用时要按一定的顺序进行添加。它是JPanel的默认布局管理器。构造方法:,1、FlowLayout,public FlowLayout()public FlowLayout(int align,int hgap,int vgap),参数align:FlowLayout.LEFT(左对齐)、FlowLayout.RIGHT(右对齐)、FlowLayout.CENTER(居中对齐)、FlowLayout.LEADING(与容器方向开始边对齐)和FlowLayout.TRAI

17、LING(与容器结束边对齐)。,13.3.3 常用布局,【例13.6】FlowLayout应用举例Example13_06.java,13.3.3 常用布局,java.awt.BorderLayout称为边框布局管理器,把一个容器分成五个区域,这五个区域分别是东西南北中。五个区域的常量标识为:EAST、WEST、SOUTH、NORTH、CENTER。BorderLayout是JFrame的默认布局管理器。构造方法:,2、BorderLayout,public BorderLayout()public BorderLayout(int hgap,int vgap),13.3.3 常用布局,2、B

18、orderLayout,【例13.7】BorderLayout应用举例。Example13_07.java,13.3.3 常用布局,java.awt.GridLayout称为网格布局管理器,它将容器划分成网格结构,每一个网格中可以放置一个组件。所有组件的大小都相同,均填充满整个网格。这些组件按照添加顺序从左到右,从上到下加入到网格中并显示。构造方法:,3、GridLayout,public GridLayout()public GridLayout(int rows,int cols)public GridLayout(int rows,int cols,int hgap,int vgap),

19、参数rows和cols可以有一个值为零,表示可以将任意数量的对象置于行中或列中。,13.3.3 常用布局,3、GridLayout,【例13.8】GridLayout应用举例,简单电话拨号界面设计。根据按键的分布情况,首先定义一个3行4列的网格,然后在每个网格单元中添加一个相应的按键。Example13_08.java,13.3.3 常用布局,java.awt.GridBagLayout称为网格包布局管理器,不需要组件大小相同就可以按水平、垂直或沿着基线对齐。GridBagLayout中的组件可以占用一个或多个网络单元格,但这些组件的具体放置位置和放置方式需要通过GridBagConstrai

20、nts类的实例进行设置。GridBagLayout的构造方法:,4、GridBagLayout,public GridBagConstraints()public GridBagConstraints(intgridx,intgridy,intgridwidth,intgridheight, doubleweightx,doubleweighty,intanchor,intfill, Insetsinsets, intipadx,intipady),public GridBagLayout(),GridBagConstraints的构造方法:,13.3.3 常用布局,4、GridBagLayo

21、ut,【例13.9】利用GridBagLayout布局,设计一个简单计算器。在这个界面中,按钮“=”需要占用两行一列,按钮“0”需要占用一列两行。Example13_09.java,13.3.3 常用布局,java.awt.CardLayout称为卡片布局管理器。把添加的每个组件像卡片一样叠加在一起,每次只显示最上面的一个组件。卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout 定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。,5、CardLayout,13.3.3 常用布局,5、CardLayout,CardLayout类的常用方法,13.3.3

22、 常用布局,javax.swing.BoxLayout称为盒式布局管理器。允许以水平或垂直方向布置多个组件,这些组件排在一行或一列。BoxLayout是Box容器的默认布局管理器。构造方法:public BoxLayout(Container target,int axis)axis为布置组件时使用的轴,常用的值有BoxLayout.X_AXIS(指定组件从左到右排在一排)和BoxLayout.Y_AXIS(指定组件从上到下排在一列)。在实际应用中,多使用 Box 类的静态方法设置布局,而不是直接使用 BoxLayout。,6、BoxLayout,13.3.3 常用布局,6、BoxLayout

23、,【例13.10】BoxLayout应用举例,设计一个简单的用户注册界面。Example13_10.java,【例13.10】运行结果,13.3.3 常用布局,容器使用setLayout(null)方法将布局设为空。添加进入容器的组件使用setBounds(int x,int y,int width,int height)方法指定该组件在容器中的位置和大小。,7、null(空布局),【例13.11】null(空布局)应用举例,在窗口中构造一个围棋的棋盘。Example13_11.java,【例13.11】运行结果,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小

24、结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,13.4.1 事件处理模型,能够产生事件的组件都可以成为事件源,例如按钮、菜单、文本框等。,1、事件源,事件监视器用于对发生事件的事件源进行监视。绑定监视器又称为注册监视器。注册监视器的方法:,2、事件监视器,事件源对象.addXXXListener(监视器)其中,XXX为对应的事件类型。,完成一个事件处理可分为三步:确定事件源;对确定的事件源注册监视器;对事件接口的监视器类重写其中的方法。,3、处理事件的接口,13.4.2 ActionEvent事件,ActionEvent称动作事件。能产生ActionEvent事件的事件

25、源有按钮、文本框、密码框、菜单项、单选按钮等。,1、ActionEvent事件源,注册监视器的方法为:,2、注册监视器,事件源对象.addActionListener(ActionListener listener),ActionEvent是动作事件类。,参数listener是监听“事件源对象”的监听器,并能对事件进行处理,它是一个实现ActionListener接口的类的对象。,13.4.2 ActionEvent事件,这个接口中只有一个方法:,3、ActionListener接口,ActionEvent是动作事件类,其对象用于表示产生的动作事件。常用方法:,public void acti

26、onPerformed(ActionEvent e),ublic Object getSource()获取产生这个事件的事件源对象。public String getActionCommand()返回与此动作相关的命令字符串。,4、ActionEvent类,13.4.2 ActionEvent事件,【例13.12】利用ActionEvent事件,实现扑克牌的逐一显示。【题目分析】 根据题意,要想实现扑克牌的逐一显示,需要使用CardLayout布局管理器,按顺序添加各张扑克牌。由于图片对象不能直接加入到容器中,可以将图片添加到JLabel组件中。为了实现图片的逐一显示,可以根据需要创建若干个按

27、钮,通过ActionEvent事件的监听,完成不同的翻看动作。Example13_12.java,13.4.3 MouseEvent事件,所有的组件都可以产生鼠标事件。当鼠标在一个组件上进行单击、移动、拖动等操作时都会触发MouseEvent事件。,1、MouseEvent事件源,事件源注册监听器有两个方法:,2、注册监视器,addMouseListener(MouseListener listener)addMouseMotionListener(MouseMotionListener listener)第一个方法是注册鼠标监视器,第二个方法是注册鼠标移动监视器。,13.4.3 MouseE

28、vent事件,MouseListener接口,主要处理鼠标单击事件。MouseMotionListener接口,主要处理鼠标移动和拖动事件。,3、鼠标事件接口,13.4.3 MouseEvent事件,MouseListener和MouseMotionListener接口的常用方法,13.4.3 MouseEvent事件,为减少程序的编写量,Java提供了对应的适配器类。当处理事件的接口中多于一个方法时,Java相应地就提供一个适配器类。该类继承了相应的接口,并重写了所有的方法,只是这些方法均为空。当用户继承这个类后,只要重写想完成的方法即可。对于鼠标事件,MouseAdapter类就实现了Mo

29、useListener接口和MouseMotionListener接口,监视器可以通过继承MouseAdapter类来代替继承鼠标接口,简化了程序设计。,13.4.3 MouseEvent事件,MouseEvent类表示产生鼠标事件的对象。MouseEvent类的常用方法,4、MouseEvent类,13.4.3 MouseEvent事件,【例13.13】使用鼠标适配器类,监听鼠标在按钮上的点击动作,显示点击的按键、点击的次数和点击时鼠标的坐标位置。Example13_13.java,【例13.13】运行结果,13.4.4 KeyEvent事件,当一个组件处于激活状态时,敲击键盘上的按键就会产

30、生KeyEvent键盘事件。,1、事件源,事件源注册监听器的方法:,addKeyListener(KeyListener listener);,KeyEvent是键盘事件类。,KeyListener接口实现键盘事件监听。,3、KeyListener接口,2、注册监视器,13.4.4 KeyEvent事件,public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent e)public void keyTyped(KeyEvent e),KeyListener接口中定义的方法:,说明:第一个方法在事件源上按下按键时被调用;第二

31、个方法在事件源上松开按下的键时被调用;第三个方法在事件源上键入某个键又松开时被调用。 Java为KeyListener接口提供的适配器类是KeyAdapter类。,13.4.4 KeyEvent事件,KeyEvent类用于产生键盘事件对象。KeyEvent类的常用方法:,4、KeyEvent类,13.4.4 KeyEvent事件,4、KeyEvent类,KeyEvent类用于产生键盘事件对象。KeyCode键值表:,13.4.4 KeyEvent事件,4、KeyEvent类,13.4.5 ItemEvent事件,产生ItemEvent事件的事件源有选择框JCheckBox、下拉列表JCombo

32、Box、菜单项JMenuItem等。,1、事件源,事件源注册监听器的方法:,2、注册监视器,addItemListener(ItemListener listener);,ItemEvent是项目事件类。,13.4.5 ItemEvent事件,ublic void itemStateChanged(ItemEvent e)当选择项发生改变时调用该方法。,ItemListener接口实现项目状态改变事件的监听。接口中的方法:,3、ItemListener接口,13.4.5 ItemEvent事件,public Object getItem()public int getStateChange()

33、public String paramString(),ItemEvent类用于产生项目状态改变事件的对象。常用方法:,第二个方法可以获取状态更改的类型,有2个常量值,分别是ItemEvent.SELECTED(选择项改变、值为1)和ItemEvent.DESELECTED(选择项未改变、值为2);第三个方法获取标识此项事件的参数字符串。这个方法会得到一系列与此事件相关的信息,在程序调试时非常有用。,4、ItemEvent类,13.4.5 ItemEvent事件,【例13.14】设计一个图形用户界面,界面中有编辑域JTextField、按钮JButton、选择框JCheckBox和下拉列表JC

34、omboBox等组件,并设置相应的监视器对组件进行监听,并将监听结果显示在TextArea中。Example13_14.java,【例13.14】运行结果,13.4.6 FocusEvent事件,每个GUI组件都能够作为FocusEvent焦点事件的事件源。,1、事件源,事件源注册监听器的方法:,2、事件监视器,addFocusListener(FocusListener listener),FocusEvent是焦点事件类。,13.4.6 FocusEvent事件,public void focusGained(FocusEvent e)public void focusLost(Focus

35、Event e),FocusListener接口实现焦点事件的监听,接口中的方法:,3、FocusListener接口,第一个方法当组件从无焦点变成有焦点时调用该方法;第二个方法当组件从有焦点变成无焦点时调用该方法。FocusListener接口的适配器类是FocusAdapter类。,13.4.6 FocusEvent事件,public Component getOppositeComponent()public boolean isTemporary(),FocusEvent类用于产生焦点事件对象。常用方法:,第一个方法用于获得此焦点更改中涉及的另一个 Component,对于 FOCUS

36、_GAINED获得焦点事件,返回的组件是失去当前焦点的组件。对于 FOCUS_LOST失去焦点事件,返回的组件是获得当前焦点的组件;第二个方法用于获得焦点更改的级别,如果焦点更改是暂时性的,则返回 true,否则返回 false。,4、ItemEvent类,13.4.7 DocumentEvent事件,能够产生javax.swing.event.DocumentEvent事件的事件源有文本框JTextField、密码框JPasswordField、文本区JTextArea。这些组件不能直接触发DocumentEvent事件,而是由组件对象调用getDocument()方法获取文本区维护文档,这

37、个维护文档可以触发DocumentEvent事件。,事件源注册监听器的方法:,2、注册监视器,addDocumentListener(DocumentListener listener),DocumentEvent是文档事件类。,1、事件源,13.4.7 DocumentEvent事件,DocumentListener接口实现文本事件的监听。接口中的方法:,3、DocumentListener接口,public void changedUpdate(DocumentEvent e)public void removeUpdate(DocumentEvent e)public void inse

38、rtUpdate(DocumentEvent e),13.4.7 DocumentEvent事件,DocumentEvent不是类,而是一个接口,位于javax.swing.event包中,用于处理文本事件。接口的方法:,4、DocumentEvent接口,Document getDocument()DocumentEvent.EventType getType()int getOffset()int getLength(),13.4.8 窗口事件,窗口事件的事件源均为Window的子类,即Window的子类对象都能触发窗口事件。,1、事件源,事件源注册监听器有3个方法,分别对应窗口事件的3个

39、接口:,2、注册监视器,addWindowListener(WindowListener listener)addWindowFocusListener(WindowFocusListener listener)addWindowStateListener(WindowStateListener listener),13.4.8 窗口事件,和Window有关的接口有三个:,3、Window接口,WindowListener接口实现窗口事件的监听,WindowFocusListener接口实现窗口焦点事件的监听,WindowStateListener接口实现窗口状态事件的监听。,Window接口

40、中的方法,13.4.8 窗口事件,13.4.8 窗口事件,Window接口中的方法,13.4.8 窗口事件,WindowEvent类用于产生窗口事件对象。常用方法:,4、WindowEvent类,public Window getWindow()public int getNewState()public int getOldState()public Window getOppositeWindow(),第一个方法用于获得窗口事件的事件源。第二个方法,窗口状态改变时可返回新的窗口状态;第三个方法,窗口状态改变时可返回以前的窗口状态;第四个方法,可返回在此焦点或活动性变化中所涉及到的其他窗口对

41、象。,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,13.5 对话框,对话框用于用户和程序之间进行信息交换。类JDialog(对话框)及其子类(用户定义)的对象表示对话框。JDialog类和JFrame类一样都是Window的子类,同属于顶层容器。对话框分为有模式对话框和无模式对话框两类。在创建一些简单、标准的对话框时,主要使用javax.swing.JOptionPane类来完成。如果想创建一个自定义的对话框,则可以使用javax.swing.JDialog类。,13.5.1 消息对话框,

42、消息对话框showMessageDialog是显示指定内容的、带有一个按钮的对话框。用于显示一些提示信息,它是一个有模式对话框。创建消息对话框的常用方法为:,public static void showMessageDialog(ComponentparentComponent, Objectmessage,Stringtitle, intmessageType),它是JOptionPane类的一个静态方法,有4个参数:参数parentComponent,用于确定显示对话框的父窗口,并在这个父窗口的中间显示。参数message,用于在对话框中显示提示信息。参数title,用于设置对话框的标题

43、栏内容。参数messageType,指定要显示的消息类型。,13.5.1 消息对话框,例:显示如图所示的对话框语句为(消息类型ERROR_MESSAGE会使对话框显示一个“”):,JOptionPane.showMessageDialog(this,您输入了错误的字符,消息对话框, JOptionPane.ERROR_MESSAGE);,13.5.2 输入对话框,输入对话框showInputDialog类可以让用户在对话框中输入信息,实现动态交互。对话框中包括用户输入文本的文本区,确认按钮和取消按钮三个部分。创建输入对话框的常用方法:,public static String showInpu

44、tDialog(ComponentparentComponent, Objectmessage,Stringtitle, intmessageType),它是JOptionPane类的一个静态方法,方法中的参数定义与消息对话框相同。这个方法返回值是用户输入的字符串内容。,13.5.2 输入对话框,例:下面的语句可以显示如图所示的输入对话框,方法返回输入的字符串并存放在str中:,String str=JOptionPane.showInputDialog(this,输入数字,用空格分隔,输入对话框, JOptionPane.PLAIN_MESSAGE);,13.5.3 确认对话框,确认对话框s

45、howConfirmDialog,用于显示一个提示信息让用户进行确认。确认对话框是有模式对话框。创建确认对话框的常用方法:,public static int showConfirmDialog(ComponentparentComponent, Objectmessage,Stringtitle, int optionType,intmessageType) ),是JOptionPane类的一个静态方法,方法中的参数定义与消息对话框中相同名称的参数定义相同。增加的参数optionType指定显示的按钮类型和格式。结束后会返回一个整数值常量。,13.5.3 确认对话框,例:下面的语句可以显示如

46、图所示的确认对话框,方法返回的值存放在n中:,int n=JOptionPane.showConfirmDialog(this,确认是否正确,确认对话框, JOptionPane.YES_NO_OPTION );,13.5.4 颜色对话框,颜色对话框使用javax.swing.JColorChooser类创建。创建颜色对话框的方法:,public static Color showDialog(Componentcomponent, Stringtitle,ColorinitialColor),该方法是个静态方法,返回值是本次选择的颜色。方法中的参数定义与消息对话框中相同名称的参数定义相同,参

47、数initialColor为初始选择的颜色。,13.5.4 颜色对话框,例:下面的语句显示如图所示的颜色对话框,方法返回颜色对象:Color color=JColorChooser.showDialog(this, color, Color.RED);,13.5.5 自定义对话框,创建一个自定义对话框,可以使用JDialog类来进行创建。JDialog本身就是一个容器,其默认布局是BorderLayout。通过向其中添加相组件就可以定制合适的对话框。,C,目录,ONTENTS,13.2 窗口,13.3 常用组件与布局,13.6 小结,13.1 图形用户界面概述,13.4 事件处理,13.5 对话框,小结,Summary,Java图形用户界面的根类和子类,以及之间的层次层次关系。 顶层容器窗口JFrame的创建与设置方法,以及菜单的定义与设计。 界面设计中常用的组件类、容器类和布局管理器。 Java的事件处理机制。 对话框的分类和使用方法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号