Java桌面程序开发第5章使用Swing常用组件

上传人:沈*** 文档编号:228014662 上传时间:2023-08-18 格式:PPT 页数:98 大小:1.82MB
返回 下载 相关 举报
Java桌面程序开发第5章使用Swing常用组件_第1页
第1页 / 共98页
Java桌面程序开发第5章使用Swing常用组件_第2页
第2页 / 共98页
Java桌面程序开发第5章使用Swing常用组件_第3页
第3页 / 共98页
点击查看更多>>
资源描述
大连理工大学出版社大连理工大学出版社 Java桌面程序开发桌面程序开发 目目 录录第1章认识Java桌面程序第2章开发第一个Java桌面程序第3章事件处理机制第4章容器与布局第5章使用Swing常用组件第6章使用Swing高级组件第7章连上DB的Java桌面程序第8章 Java桌面程序实例:联系人管理第第5章章 使用使用Swing常用组件常用组件教学要求教学要求 1 1掌握:掌握:SwingSwing各种常用组件的使用,包括图形用户界各种常用组件的使用,包括图形用户界面所需要的基本组件、选择型组件,菜单等的创建和使用面所需要的基本组件、选择型组件,菜单等的创建和使用 2 2理解:工具栏的创建,对话框的创建和使用理解:工具栏的创建,对话框的创建和使用5.1GUI的基本元素:的基本元素:标签、按、按钮、文本框、文本框p1 1JLabelJLabelJLabel类是一个用来显示文本的类,文本就是一个字符串。在程序中指定要显示的字符串,但该字符串在运行时不能被用户修改标签不对输入事件作出反应。因此,它无法获得键盘焦点。JLabel 对象还可以显示图像或同时显示文本与图像二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。pJLabelJLabel的构造方法:的构造方法:JLabel():创建无图像并且其标题为空字符串的 JLabel。JLabel(Icon image):创建具有指定图像的 JLabel 实例。JLabel(Icon image,int horizontalAlignment):创建具有指定图像和水平对齐方式的 JLabel 实例。JLabel(String text):创建具有指定文本的 JLabel 实例。JLabel(String text,Icon icon,int horizontalAlignment):创建具有指定文本、图像和水平对齐方式的 JLabel 实例。JLabel(String text,int horizontalAlignment):创建具有指定文本和水平对齐方式的 JLabel 实例。其中,参数text设置标签文本,icon设置标签图标,horizontalAlignment用于指定标签内容的水平对齐方式。horizontalAlignment的取值为JLabel从SwingConstants继承来的几个静态常量:lLEFT、lCENTER、lRIGHT、lLEADINGlTRAILINGpJLabelJLabel类的常用类的常用方法:方法:String getText():返回该标签所显示的文本字符串。void setText(String text):定义此组件将要显示的单行文本。Icon getIcon():返回该标签显示的图形图像(字形、图标)。void setIcon(Icon icon):定义此组件将要显示的图标。int getIconTextGap():返回此标签中显示的文本和图标之间的间隔量。void setIconTextGap(int iconTextGap):如果同时设置了图标和文本属性,则此属性定义它们之间的间隔。int getHorizontalAlignment():返回标签内容沿 X 轴的对齐方式。int getVerticalAlignment():返回标签内容沿 Y 轴的对齐方式。void setLabelFor(Component c):设置将标签添加到的组件。p2 2JButtonJButtonJButton类是使用最多的一个组件,可以用来创建带标签的按钮,可完成用户想要完成的一些功能。pJButtonJButton的构造方法:的构造方法:JButton():创建不带有设置文本或图标的按钮。JButton(Action a):创建一个按钮,其属性从所提供的 Action 中获取。JButton(Icon icon):创建一个带图标的按钮。JButton(String text):创建一个带文本的按钮。JButton(String text,Icon icon):创建一个带初始文本和图标的按钮。pJButtonJButton的基本方法:的基本方法:void setText(String text):设置按钮的文本 String getText():返回按钮的文本 void setIcon(Icon defaultIcon):设置按钮的默认图标 boolean isSelected():返回按钮的状态 void setSelected(boolean b):设置按钮的状态 void setSelectedIcon(Icon selectedIcon):设置按钮的选择图标 p3 3JTextFieldJTextFieldSwing中与文字输入有关的组件主要包括JTextField、JTextArea、JPasswordField和JTextPane,其中JTextField、JPasswordField是单行的文本输入组件,JTextArea是多行的文本输入组件,JTextPane可以设置其中文本的格式,它们都继承自JTextComponent类。JTextField类用来创建允许用户编辑的单行文本组件。用户可以通过这类组件输入和编辑字符串信息。JTextField 与JLabel的本质差别是,程序运行时,JTextField可以获得焦点,而JLabel不能。JTextField可用作程序的输入。pJTextFieldJTextField的构造方法:的构造方法:JTextField():构造一个新的 TextField。JTextField(Document doc,String text,int columns):构造一个新的 JTextField,它使用给定文本存储模型和给定的列数。JTextField(int columns):构造一个具有指定列数的新的空 TextField。JTextField(String text):构造一个用指定文本初始化的新 TextField。JTextField(String text,int columns):构造一个用指定文本和列初始化的新 TextField。pJTextFieldJTextField的常用方法:的常用方法:void setText(String t):将此 Text Field 文本设置为指定文本void getText(String t):获取此 TextField 的文本void setFont(Font f):设置当前字体 void setHorizontalAlignment(int alignment)设置文本的水平对齐方式。5.1.1 看看看看效果效果例5-1:使用了标签,文本框和按钮这些常用元素例5-2 JLabel的简单应用例5-3 JButton的简单应用例5-4 JTextField的简单应用5.1.2 在在标签JLabel中使用中使用图像像pJLabelJLabel控件除了可以用于在窗体上显示文字之外,还可以控件除了可以用于在窗体上显示文字之外,还可以用来显示图片。显示图片需要用到用来显示图片。显示图片需要用到ImageIconImageIcon类创建的对类创建的对象象。pImageIconImageIcon类,一个类,一个 Icon Icon 接口的实现,它根据接口的实现,它根据 Image Image 绘绘制制 Icon Icon。可使用。可使用 MediaTracker MediaTracker 预载根据预载根据 URL URL、文件名、文件名或字节数组创建的图像,以监视该图像的加载状态。或字节数组创建的图像,以监视该图像的加载状态。pImageIconImageIcon类的构造方法:类的构造方法:ImageIcon():创建一个未初始化的图像图标。ImageIcon(Image image):根据图像对象创建一个 ImageIcon。ImageIcon(String filename):根据指定的文件创建一个 ImageIconImageIcon(URL location):根据指定的 URL 创建一个 ImageIcon。ImageIcon(URL location,String description):根据指定的 URL 创建一个 ImageIcon实例例例5-5 制作了一个利用JLabel显示图片的窗体5.1.3 带图标Icon的按的按钮JButton除了JLabel标签上可以使用图标,JButton也可以添加图标 例5-6,设置了按钮的图标,并设置的按钮名字和图标的相对位置5.1.4 使用密使用密码框框JPasswordFieldp密码文本框是用来输入密码的文本框。p密码框继承单行文本框,所以密码框只显示单行输入框。但是,与单行文本框不同的是,密码框输入的文字将不会正常显示出来,而是使用其它字符代替。p可以通过调用setEchoChar(char c)来更改显示字符。密码框的作用是防止别人看到所输入的文字信息。pJPasswordFieldJPasswordField的构造方法:的构造方法:JPasswordField():构造一个新 JPasswordField,使其具有默认文档、为 null 的开始文本字符串和为 0 的列宽度。JPasswordField(int columns):构造一个具有指定列数的新的空 JPasswordField。JPasswordField(String text):构造一个利用指定文本初始化的新 JPasswordField。JPasswordField(String text,int columns):构造一个利用指定文本和列初始化的新 JPasswordField。pJPasswordFieldJPasswordField的常用方法:的常用方法:void setEchoChar(char c):设置此 JPasswordField 的回显字符。char getEchoChar():返回要用于回显的字符。boolean echoCharIsSet():如果此 JPasswordField 具有为回显设置的字符,则返回 true。char getPassword():返回此 TextComponent 中所包含的文本。实例例例5-7 密码框JPasswordField的使用例5-8 密码字段的键盘事件例5-9 监听JPasswordField的ActionEvent事件5.2使用文本区使用文本区组件件JTextAreap多行文本框用来编辑多行文本,进行大量的文字编辑多行文本框用来编辑多行文本,进行大量的文字编辑处理处理p多多行文本框可以在内部处理滚动,具有换行行文本框可以在内部处理滚动,具有换行能力能力pJTextAreaJTextArea的构造方法:的构造方法:JTextArea():构造新的 TextArea。JTextArea(int rows,int columns):构造具有指定行数和列数的新的空 TextArea。JTextArea(String text):构造显示指定文本的新的 TextArea。JTextArea(String text,int rows,int columns):构造具有指定文本、行数和列数的新的 TextArea。pJTextAreaJTextArea的常用方法的常用方法void append(String str):将给定文本追加到文档结尾。void setColumns(int columns):设置此 TextArea 中的列数。void setRows(int rows):设置此 TextArea 的行数。int getLineCount():确定文本区中所包含的行数。void insert(String str,int pos):将指定文本插入指定位置。void setFont(Font f):设置当前字体。void setWrapStyleWord(boolean word):设置换行方式(如果文本区要换行)。实例例例5-10 使用JTextArea例5-11 从一个文本区复制选中的文字到另一个文本区5.3选择型型组件件pJavaJava提供了很多的选择型组件,用户可通过单击选定,免提供了很多的选择型组件,用户可通过单击选定,免去了输入文本的麻烦去了输入文本的麻烦。p常用常用的选项组件有单选框,复选框,列表框,组合列表框的选项组件有单选框,复选框,列表框,组合列表框等。等。1.JCheckBox(复(复选框)框)类pJCheckBoxJCheckBox类继承类继承JToggleButtonJToggleButton类,而类,而JToggleButtonJToggleButton类类实现一个反选按键,只有按下和释放两种状态。复选框也实现一个反选按键,只有按下和释放两种状态。复选框也有类似功能,只有选择和不选择两种状态,而且复选框可有类似功能,只有选择和不选择两种状态,而且复选框可由多个按钮组成一个组群。由多个按钮组成一个组群。pJCheckBoxJCheckBox的构造方法:的构造方法:JCheckBox(Icon icon):创建有一个图标、最初未被选定的复选框。JCheckBox(Icon icon,boolean selected):创建一个带图标的复选框,并指定其最初是否处于选定状态。JCheckBox(String text):创建一个带文本的、最初未被选定的复选框 JCheckBox(String text,boolean selected):创建一个带文本的复选框,并指定其最初是否处于选定状态。pJCheckBoxJCheckBox类的常用方法:类的常用方法:void setText(String text):设置按钮的文本。String getText():返回按钮的文本 void setSelected(boolean b):设置按钮的状态。boolean isSelected():返回按钮的状态。pJCheckBoxJCheckBox类的常用方法和类的常用方法和JRadionButtonJRadionButton类的常用方法基类的常用方法基本一样本一样2JRadioButton(单选单选按按钮钮)类类p单选按钮只能在其组群内选择一个单选按钮只能在其组群内选择一个,使用这个类可以定义使用这个类可以定义单选按钮单选按钮。p为单选按钮分类,必须用到类为单选按钮分类,必须用到类ButtonGroupButtonGroup。这个类的主。这个类的主要功能是:同一时间内只会有一个组件的状态为要功能是:同一时间内只会有一个组件的状态为“onon”。p例如:性别选项,例如:性别选项,“男男”、“女女”二选一二选一 JRadioButton jrbtn1=new JRadioButton(“男”);JRadioButton jrbtn2=new JRadioButton(“女”);ButtonGroup bg=new ButtonGroup();bg.add(jrbtn1);bg.add(jrbtn2);pJRadioButtonJRadioButton的构造方法的构造方法JRadioButton(Icon icon):创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本。JRadioButton(Icon icon,boolean selected):创建一个具有指定图像和选择状态的单选按钮,但无文本。JRadioButton(String text):创建一个具有指定文本的状态为未选择的单选按钮。JRadioButton(String text,boolean selected):创建一个具有指定文本和选择状态的单选按钮。3.JComboBox(下拉列表框)(下拉列表框)类类pJComboBoxJComboBox是是将将按钮或可编辑字段与下拉列表组合的按钮或可编辑字段与下拉列表组合的组件组件。p用户用户可以从下拉列表中选择值,下拉列表在用户请求时显可以从下拉列表中选择值,下拉列表在用户请求时显示示。p如果如果使组合框处于可编辑状态,则组合框将包括用户可在使组合框处于可编辑状态,则组合框将包括用户可在其中键入值的可编辑字段。其中键入值的可编辑字段。pJComboBoxJComboBox的构造方法:的构造方法:JComboBox():创建具有默认数据模型的 JComboBox。JComboBox(ComboBoxModel aModel):创建一个 JComboBox,其项取自现有的 ComboBoxModel 中。JComboBox(Object items):创建包含指定数组中的元素的 JComboBox。JComboBox(Vector items):创建包含指定 Vector 中的元素的 JComboBox。pJComboBoxJComboBox类的常用方法类的常用方法void addItem(Object anObject):为项列表添加项。void insertItemAt(Object anObject,int index):在项列表中的给定索引处插入项。Object getItemAt(int index):返回指定索引处的列表项。Object getSelectedItem():返回当前所选项。Object getSelectedObjects():返回包含所选项的数组。int getItemCount():返回列表中的项数。void setSelectedItem(Object anObject):将组合框显示区域中所选项设置为参数中的对象。4JList(列表框)(列表框)类p该组件允许用户从列表中选择一个或多个对象。该组件允许用户从列表中选择一个或多个对象。JListJList的各的各个项目是放在单个列表框中,通过单击选项本身来选定。个项目是放在单个列表框中,通过单击选项本身来选定。可以通过设置,允许对列表中的项目进行多项选择可以通过设置,允许对列表中的项目进行多项选择。pJListJList不支持自动滚动功能,若要实现该功能,需要将不支持自动滚动功能,若要实现该功能,需要将JListJList添加到添加到JScrollPaneJScrollPane中。中。pJListJList的构造方法:的构造方法:JList():构造一个使用空模型的 JList。JList(ListModel dataModel):构造一个 JList,使其使用指定的非 null 模型显示元素。JList(Object listData):构造一个 JList,使其显示指定数组中的元素。JList(Vector listData):构造一个 JList,使其显示指定 Vector 中的元素。pJListJList类的常用方法:类的常用方法:int getSelectedIndex():返回所选的第一个索引;如果没有选择项,则返回-1。int getSelectedIndices():返回所选的全部索引的数组(按升序排列)。Object getSelectedValue():返回所选的第一个值,如果选择为空,则返回 null。Object getSelectedValues():返回所选单元的一组值。boolean isSelectedIndex(int index):如果选择了指定的索引,则返回 true。pboolean isSelectionEmpty():如果什么也没有选择,则返回 true。pvoid setSelectedIndex(int index):选择单个单元。pvoid setSelectedIndices(int indices):选择一组单元。pvoid setSelectedValue(Object anObject,boolean shouldScroll):从列表中选择指定的对象。pvoid setSelectionMode(int selectionMode):确定允许单项选择还是多项选择。pvoid setVisibleRowCount(int visibleRowCount):设置不使用滚动条可以在列表中显示的首选行数。5.3.1 看看看看效果效果p例例5-125-12选择型组件的示例。选择型组件的示例。Choose.javaChoose.java(1)本例中用到的组件较多,首先要注意各组件的摆放。(2)当单击前景色单选按钮时,可以改变字体的颜色。(3)单击字型复选按钮时,可修改字型。(4)可以通过选择字号下拉列表框中的字号改变字体大小。(5)可以通过选择字体列表框改变字体。(6)单击修改文字按钮,可以通过一个输入消息框,输入新的内容。(7)单击退出按钮,可退出本系统,在退出之前,弹出消息框确认是否退出。5.3.2 使用使用单选按按钮JRadioButton例5-13 单选按钮示例例5-14 JRadioButton组件的事件响应5.3.3 使用复使用复选框框JCheckBox例5-15 JCheckBox的使用例5-16 定制JCheckBox的标记图标5.3.4 使用下拉列表框使用下拉列表框JComboBox例5-17 下拉列表框JComboBox的实例5.4创建建菜菜单p菜单和工具栏几乎是所有软件中必备的组件,菜单和工具栏几乎是所有软件中必备的组件,SwingSwing包中包中有一系列专门用来创建菜单类的有一系列专门用来创建菜单类的组件组件。5.4.1 看看看看效果效果例5-18菜单设计举例5.4.2 认识菜菜单及菜及菜单组件件pJMenuBarJMenuBar,菜单条,是菜单容器,菜单条,是菜单容器组件组件pJMenuJMenu是菜单,如文件菜单,编辑菜单是菜单,如文件菜单,编辑菜单等等pJMenuItemJMenuItem是菜单项,如新建文件,打开文件是菜单项,如新建文件,打开文件等等1JMenuBar(菜(菜单栏)pJMenuBarJMenuBar是放置菜单的容器。可以通过是放置菜单的容器。可以通过JFrameJFrame类的类的setMenuBarsetMenuBar()()方法把方法把JMenuBarJMenuBar对象加入一个框架中对象加入一个框架中。pJMenuBarJMenuBar类的构造方法类的构造方法 :JMenuBar():创建新的菜单栏。pJMenuBarJMenuBar的常用方法的常用方法 :JMenu add(JMenu c):将指定的菜单追加到菜单栏的末尾。void setSelected(Component sel):设置当前选择的组件,更改选择模型。int getMenuCount():返回菜单栏上的菜单数。boolean isSelected():如果当前已选择了菜单栏的组件,则返回 true。JMenu getHelpMenu():获取菜单栏的帮助菜单。JMenu getMenu(int index):返回菜单栏中指定位置的菜单。2JMenu(菜(菜单单)pJMenuJMenu是菜单栏上放置的菜单。每一个菜单由一些菜单项是菜单栏上放置的菜单。每一个菜单由一些菜单项组成。可以通过组成。可以通过JMenuBarJMenuBar类的类的add()add()方法,把方法,把JMenuJMenu对象放对象放置在置在JMenuBarJMenuBar对象上(即设置菜单栏上的主菜单)对象上(即设置菜单栏上的主菜单)。pJMenuJMenu实际上是一个包含实际上是一个包含 JMenuItem JMenuItem 的弹出窗口,用户选的弹出窗口,用户选择择 JMenuBar JMenuBar 上的项时会显示该上的项时会显示该 窗口。除窗口。除 JMenuItem JMenuItem 之之外,外,JMenu JMenu 还可以包含还可以包含 JSeparator JSeparator,JSeparatorJSeparator是菜单是菜单上的分隔线。上的分隔线。pJMenuJMenu类的构造方法类的构造方法 JMenu(String s):构造一个新 JMenu,用提供的字符串作为其文本。JMenu(String s,boolean b):构造一个新 JMenu,用提供的字符串作为其文本并指定其是否为分离式(tear-off)菜单。3JMenuItem(菜(菜单项)p所有菜单中的菜单项都是所有菜单中的菜单项都是JMenuItemJMenuItem类或者其它的子类的类或者其它的子类的对象对象。p可以可以通过通过JMenuJMenu类的类的add()add()方法,把方法,把JMenuItemJMenuItem对象添加到对象添加到JMenuJMenu对象上(即置菜单栏上某个主菜单的子菜单)对象上(即置菜单栏上某个主菜单的子菜单)。p菜单项本质上是位于列表中的按钮。当用户选择菜单项本质上是位于列表中的按钮。当用户选择“按钮按钮”时,将执行与菜单项关联的操作。时,将执行与菜单项关联的操作。pJMenuItemJMenuItem的的构造方法:构造方法:JMenuItem(Action a):创建一个从指定的 Action 获取其属性的菜单项。JMenuItem(Icon icon):创建带有指定图标的 JMenuItem。JMenuItem(String text):创建带有指定文本的 JMenuItem。JMenuItem(String text,Icon icon):创建带有指定文本和图标的 JMenuItem。4JCheckBoxMenuItem(复(复选选框菜框菜单项单项)p可以被选定或取消选定的菜单项。如果被选定,菜单项的旁边可以被选定或取消选定的菜单项。如果被选定,菜单项的旁边通常会出现一个复选标记。如果未被选定或被取消选定,菜单通常会出现一个复选标记。如果未被选定或被取消选定,菜单项的旁边就没有复选标记。像常规菜单项一样,复选框菜单项项的旁边就没有复选标记。像常规菜单项一样,复选框菜单项可以有与之关联的文本或图标,或者二者兼而有之可以有与之关联的文本或图标,或者二者兼而有之。pisSelected/setSelected isSelected/setSelected 或或 getState/setState getState/setState 都可以用来都可以用来确定确定/指定菜单项的选择状态。首选方法是指定菜单项的选择状态。首选方法是 isSelected isSelected 和和 setSelectedsetSelected,它们可用于所有菜单和按钮。,它们可用于所有菜单和按钮。pJCheckBoxMenuItemJCheckBoxMenuItem类的构造方法类的构造方法 JCheckBoxMenuItem(Action a):创建一个从所提供的 Action 中获取其属性的菜单项。JCheckBoxMenuItem(Icon icon):创建有一个图标的、最初未被选定的复选框菜单项。JCheckBoxMenuItem(String text):创建一个带文本的、最初未被选定的复选框菜单项。JCheckBoxMenuItem(String text,boolean b):创建具有指定文本和选择状态的复选框菜单项。5JPopupMenu(弹弹出菜出菜单单)pJPopupMenuJPopupMenu可实现弹出菜单,弹出菜单是一个可弹出并显示一系列选可实现弹出菜单,弹出菜单是一个可弹出并显示一系列选项的小窗口项的小窗口。pJPopupMenu JPopupMenu 用于用户在菜单栏上选择项时显示的菜单。它还用于当用于用户在菜单栏上选择项时显示的菜单。它还用于当用户选择菜单项并激活它时显示用户选择菜单项并激活它时显示的的“右拉式右拉式(pull-right)(pull-right)”菜单菜单。pJPopupMenuJPopupMenu类的构造方法:类的构造方法:JPopupMenu(String label):构造一个具有指定标题的 JPopupMenu6JSeparator(分隔符)(分隔符)pJSeparator JSeparator 为实现分隔线提供了一个通用组件为实现分隔线提供了一个通用组件-通常用作菜单项之通常用作菜单项之间的分隔符,以便将菜单项分成几个逻辑组间的分隔符,以便将菜单项分成几个逻辑组。p可以可以使用使用 JMenu JMenu 或者或者 JPopupMenu JPopupMenu 的的 addSeparator addSeparator 方法来创建和方法来创建和添加一个分隔符,而不是直接使用添加一个分隔符,而不是直接使用 JSeparator JSeparator。pJSeparator JSeparator 还可能用于还可能用于 GUI GUI 中任何一个需要可视化分隔符的地方。中任何一个需要可视化分隔符的地方。5.4.3 实现菜菜单例5-19 创建基本菜单的例子例5-20 演示了如何给菜单添加快捷操作方式例5-21 垂直菜单栏5.4.4 实现级联菜菜单例5-22 级联菜单5.4.5 实例:例:简单记事本事本例5-23 记事本的实现5.5创创建工具建工具栏栏p一般在设计软件时,会将所有功能以菜单项(也就是菜单命令)的形式分类放置在菜单中,但功能数量较多时,对于一些频繁进行的操作用户也总要去查找菜单才能实现,这就增加了用户操作的负担。p因此,可以将软件中最常用的部分功能以工具栏中工具按钮方式提供给用户,这样用户操作起来就便捷多了。pSwing中JToolBar类提供了工具栏的属性和方法,用来放置各种常用功能命令的按钮。pJToolBarJToolBar类的构造方法:类的构造方法:JToolBar():创建新的工具栏;默认的方向为 HORIZONTAL。JToolBar(int orientation):创建具有指定 orientation 的新工具栏。JToolBar(String name):创建一个具有指定 name 的新工具栏。JToolBar(String name,int orientation):创建一个具有指定 name 和 orientation 的新工具栏。pJToolBarJToolBar类的常用方法:类的常用方法:JButton add(Action a):添加一个指派动作的新的 JButton。void addSeparator(Dimension size):将指定大小的分隔符添加到工具栏的末尾。void setFloatable(boolean b):设置 floatable 属性,如果要移动工具栏,此属性必须设置为 true。5.5.1 看看看看效果效果例5-24 工具栏5.5.2 实现工具工具栏例5-25 简单的工具栏例5-26 工具栏按钮的工具提示5.5.3 实例:例:给记事本加上事本加上工具工具栏5.6实现对话框框p5.6.1 Swing5.6.1 Swing对话框对话框JDialogJDialog对话框与框架(JFrame)有一些相似,但它一般是一个临时的窗口,主要用于显示提示信息或接受用户输入。所以,在对话框中一般不需要菜单条,也不需要改变窗口大小。此外,在对话框出现时,可以设定禁止其他窗口的输入,直到这个对话框被关闭。p对话框分为无模式和有模式对话框分为无模式和有模式两种两种如果一个对话框是有模式的对话框,那么当这个对话框处于激活状态时,只让程序响应对话框内部的事件,程序不能再激活它所依赖的窗口或组件,而且它将堵塞当前线程的执行,直到该对话框消失不可见。无模式对话框处于激活状态时,程序仍能激活它所依赖的窗口或组件,它也不堵塞线程的执行。pJDialogJDialog类的构造方法类的构造方法 JDialog(Dialog owner):创建一个没有标题但将指定的 Dialog 作为其所有者的无模式对话框。JDialog(Dialog owner,boolean modal):创建一个没有标题但有指定所有者对话框的有模式或无模式对话框。JDialog(Dialog owner,String title):创建一个具有指定标题和指定所有者对话框的无模式对话框。JDialog(Dialog owner,String title,boolean modal):创建一个具有指定标题和指定所有者对话框的有模式或无模式对话框。实例例例5-28 JDialog对话框设计举例5.6.2 使用使用JOptionPaneJDialog类主要用来创建根据需要而定制的对话框,必须制作对话框中的每一个组件。但有时候我们可能只需要对话框显示一些信息,或是进行简单的输入操作,Swing提供的JOptionPane这个简单标准对话框可以满足这样的需求。JOptionPane类提供了一些静态方法用于显示对话框,这些对话框都是模式的,主要包含4种类型:消息对话框、输入对话框、确认对话框和选项对话框。pJOptionPaneJOptionPane类的常用静态调用方法类的常用静态调用方法方法名方法名描述描述showConfirmDialog询问一个确认问题,如询问一个确认问题,如yes/no/cancel。showInputDialog提示要求某些输入。提示要求某些输入。showMessageDialog告知用户某事已发生。告知用户某事已发生。showOptionDialog上述三项的大统一上述三项的大统一(Grand Unification)。static int showConfirmDialog(Component parentComponent,Object message):调出带有选项 Yes、No 和 Cancel 的对话框;标题为 Select an Option。static int showConfirmDialog(Component parentComponent,Object message,String title,int optionType):调出一个由 optionType 参数确定其中选项数的对话框。static int showConfirmDialog(Component parentComponent,Object message,String title,int optionType,int messageType):调用一个由 optionType 参数确定其中选项数的对话框,messageType 参数确定要显示的图标。static int showConfirmDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon):调出一个带有指定图标的对话框,其中的选项数由 optionType 参数确定。static String showInputDialog(Object message):显示请求用户输入的问题消息对话框。static void showMessageDialog(Component parentComponent,Object message):调出标题为 Message 的信息消息对话框。static void showMessageDialog(Component parentComponent,Object message,String title,int messageType):调出对话框,它显示使用由 messageType 参数确定的默认图标的 message。static void showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon):调出一个显示信息的对话框,为其指定了所有参数。static int showOptionDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon,Object options,Object initialValue):调出一个带有指定图标的对话框,其中的初始选择由 initialValue 参数确定,选项数由 optionType 参数确定。实例例例5-29 JOptionPane对话框设计举例注意:对话框一,二都是调用的showMessageDialog()方法,只是显示的图标不同。对话框三调用的是showConfirmDialog()方法,对话框四调用的是showOptionDialog()。对话框五、六是输入对话框,可以由用户输入内容。对话框七调用showInternalMessageDialog()方法,注意该风格使用内部窗体来保存对话框,在描述父窗体时候,应使用其getContentPane()方法,取出父窗体上的内容窗口。5.6.3 使用使用JFileChooserJFileChooser,文件选择器,与AWT中FileDialog相似,用于显示打开或保存文件的对话框。需要注意的是,JFileChoose本身只是一个针对文件操作的对话框,但并没有文件读取或文件存盘的功能,要实现这样的功能,必须要结合输入输出流的使用。pJFileChooserJFileChooser类的构造方法:类的构造方法:JFileChooser():构造一个指向用户默认目录的 JFileChooser。JFileChooser(File currentDirectory):使用给定的 File 作为路径来构造一个 JFileChooser。JFileChooser(String currentDirectoryPath):构造一个使用给定路径的 JFileChooser。实例例例5-30 JFileChooser的实例5.6.4 使用使用JColorChooserpJColorChooser JColorChooser 提供一个用于允许用户操作和选择颜色的控提供一个用于允许用户操作和选择颜色的控制器窗格。制器窗格。p此类提供三个级别的此类提供三个级别的 API API:显示有模式颜色选取器对话框并返回用户所选颜色的静态便捷方法。创建颜色选取器对话框的静态便捷方法,可以指定当用户按下其中一个对话框按钮时要调用的 ActionListener。能直接创建 JColorChooser 窗格实例(在任何容器中)。可以添加 PropertyChange 侦听器以检测当前“颜色”属性何时更改。例5-31 带颜色对话框的窗口5.6.5 实例:自定例:自定义对话框框例5-37 自定义对话框。实训任务实训任务p实训5-1 设计如图5-49所示登录界面,当用户输入密码为“123”时,显示消息框,提示“密码输入正确”,如果输入密码不是“123”,则用消息框提示“密码输入错误!”,只有三次机会,若第三次仍输入错误,则退出系统实训任务实训任务p实训5-2 设计如图5-50所示颜色合成程序。颜色由红、绿、蓝三种基色合成,每种基色的选择范围为0255。或文本框输入的数值不在该范围内,出现消息框提示错误。实训任务实训任务p实训5-3 设计如图5-51所示生肖显示界面,当选择出生年份时,可显示对应的生肖图片。实训任务实训任务p实训5-4 参考图5-52、图5-53所示界面,设计一个猜数小游戏。在进入主界面前,设计用户登录界面,以记录用户,从而生成每个级别,猜数次数最少的榜单。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!