




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对话框 对话框是一种大小不能变化、不能有菜单的容器窗口,对话框不能作为一个应用程序的主框架,而必须包含在其他的容器中。Java语言提供多种对话框类来支持多种形式的对话框。 JOptionPane类支持简单、标准的对话框;JDialog类支持定制用户自己的对话框;JFileChooser类支持文件打开、保存对话框;ProgressMonitor类支持操作进度条控制对话框等。 对话框依赖于框架。当框架撤销时,依赖该框架的对话框也撤销。当框架图标化时,依赖它的对话框也从屏幕上消失。当框架窗口恢复时,依赖框架的对话框又返回屏幕。 下面介绍较简单的JOptionPane和JFileChooser类支持的对话框。,1. JOptionPane对话框 JOptionPane提供的对话框是模式对话框。当模式对话框显示时,它不允许用户输入到程序的其他的窗口。使用JOptionPane,可以创建和自定义问题、信息、警告和错误等几种类型的对话框。JOptionPane提供标准对话框的布局支持、图标、指定对话框的标题和文本、自定义按钮文本、允许自定义组件的对话框显示、指定对话框在屏幕上的显示位置等特性。 javax.swing.JOptionPane类继承于javax.swing.JComponent类,有七种构造方法,常用的有五种: JOptionPane()创建具有测试信息的JOptionPane对象。 JOptionPane(Object message) 创建显示message和缺省选项的JOptionPane对象。 JOptionPane(Object message, int messageType) 创建以messageType类型显示message和使用缺省选项的JOptionPane对象。,JOptionPane(Object message, int messageType, int optionType)创建显示指定类型信息和指定选项类型的JOptionPane对象。 JOptionPane(Object message, int messageType, int optionType, Icon icon) 创建显示指定类型信息和指定选项类型、图标的JOptionPane对象。 要显示简单的模式对话框,可以使用showMessageDialog()或showOptionDialog()方法。 它们的格式为(showMessageDialog()方法有重载): public static void showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon)throws HeadlessException,public static int showOptionDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon,Object options,Object initialValue) throws HeadlessException 前者显示一个带一个“Ok”或“确定”按钮的对话框。后者显示自定义的对话框可以显示具有定制文本的各种按钮,并可包含一个标准的文本信息或组件集合。 例如: JOptionPane.showMessageDialog( frame,“请输入一个整数。n“ + “无效输入。“); showXxxDialog方法的所有参数和JOptionPane构造方法都是标准化的, 下面对这些参数进行说明。 parentComponent 对每个showXxxDialog方法的第一个参数总是父组件,必须是一个框架、一个框架中的组件、或null值。JOptionPane构造方法不包含这个参数。,message 这个必须的参数指明要显示的对话框。一般是一个字符串,显示在对话框的一个标签中。 title 标题。 optionType 指定出现在对话框底部的按钮集合,可以选择下面4个标准集合之一: DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION。 messageType 确定显示在对话框中的图标。从下列值中选择一个:PLAIN_MESSAGE (无 icon), ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE. icon 指明了在对话框中显示用户定义图标。 options进一步指明任选对话框底部的按钮。一般地,对按钮指定一个字符串数组。 initialValue 指明选择的初始值。,showMessageDialog()和showOptionDialog()方法返回用户选择的一个整数,整数值为YES_OPTION, NO_OPTION, CANCEL_OPTION, OK_OPTION和CLOSED_OPTION之一。除了CLOSED_OPTION的每一个选项都对应用户单击的按钮。当CLOSED_OPTION返回时,说明用户关闭了对话框窗口。 即使用户改变了标准对话框上按钮显示的字符串,返回值仍然为预定义的整数值之一。例如,一个YES_NO_OPTION对话框总是返回下列值之一:YES_OPTION、NO_OPTION或CLOSED_OPTION。 【例】使用对话框。,import javax.swing.*; import java.awt.*; import java.awt.event.*; public class JOptionPaneDemo public JFrame aFrame; public JButton aButton; public JOptionPane anOptionPane; static JLabel aLabel; public JOptionPaneDemo() aFrame = new JFrame(“使用JOptionPane“); aButton = new JButton(“显示对话框“); aLabel = new JLabel(“您作出的选择是:”, JLabel.CENTER); aButton.addActionListener(new OptionListener(); anOptionPane = new JOptionPane();,aFrame.setSize(300,200); aFrame.getContentPane().add(aButton, BorderLayout.NORTH); aFrame.getContentPane().add(aLabel, BorderLayout.SOUTH); aFrame.setVisible(true); aFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); public class OptionListener implements ActionListener public void actionPerformed(ActionEvent e) String choices = “喜欢“, “不喜欢“; int n = anOptionPane.showOptionDialog(aFrame, “您喜欢音乐吗?“, “请选择“,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, choices,choices0); if(n = 0) JOptionPaneDemo.aLabel.setText(“喜欢音乐“); else JOptionPaneDemo.aLabel.setText(“不喜欢音乐“); public static void main( String args) new JOptionPaneDemo(); 程序运行时显示的 对话框如下图所示。,2.JFileChooser对话框 JFileChooser类提供对文件的打开、关闭等文件操作的标准对话框。 JFileChooser类继承于JComponent类,其构造方法有: JFileChooser()构造一个指向用户缺省目录的JFileChooser对象 。 JFileChooser(File currentDirectory)构造一个以给定File为路径的JFileChooser对象。 构造JFileChooser对象后,要利用该类的方法showOpenDialog()或showSaveDialog()来显示文件打开或文件关闭对话框。它们的格式为: public int showOpenDialog(Component parent)throws HeadlessException,public int showSaveDialog(Component parent)throws HeadlessException 它们的参数都是包含对话框容器的对象。返回值为下面几种情况: JFileChooser.CANCEL_OPTION 表示选择了“撤消”按钮。 JFileChooser.APPROVE_OPTION 表示选择了“打开”或“保存”按钮。 JFileChooser.ERROR_OPTION 表示出现错误。 在打开或关闭文件对话框中作出选择后,可用JFileChooser类的方法getSelectedFile()返回选取的文件名(File类的对象)。 【例9】使用文件打开、关闭对话框(JFileChooser)。将选择的文件名显示到文本区域中。,import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.filechooser.*; public class JFileChooserDemo extends JFrame public JFileChooserDemo() super(“使用JFileChooser“); final JTextArea ta = new JTextArea(5,20); ta.setMargin(new Insets(5,5,5,5); ta.setEditable(false); JScrollPane sp = new JScrollPane(ta); final JFileChooser fc = new JFileChooser(); JButton openBtn = new JButton(“打开文件.“);,openBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int returnVal = fc.showOpenDialog( JFileChooserDemo.this); if (returnVal = JFileChooser.APPROVE_OPTION) File file = fc.getSelectedFile(); ta.append(“打开: “ + file.getName() + “.n“); else ta.append(“取消打开命令.n“); ); JButton saveBtn = new JButton(“保存文件.“); saveBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int returnVal = fc.showSaveDialog( JFileChooserDemo.this);,if (returnVal = JFileChooser.APPROVE_OPTION) File file = fc.getSelectedFile(); ta.append(“Saving: “ + file.getName() + “.n“); else ta.append(“取消保存命令。n“); ); JPanel buttonPanel = new JPanel(); buttonPanel.add(openBtn); buttonPanel.add(saveBtn); openBtn.setNextFocusableComponent(saveBtn); saveBtn.setNextFocusableComponent(openBtn); Container c = getContentPane(); c.add(buttonPanel, BorderLayout.NORTH);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租赁合同违约金责任认定
- 2025年拆迁安置房买卖合同的法律效力如何
- 2025《合同法学》学习指南与实务作业
- 第4课《灯笼》说课稿 2025-2026学年统编版语文八年级下册
- 3.1 质量与密度 说课稿 -2024-2025学年浙教版科学七年级下册
- 八年级语文上册 第四单元 16《散文二篇》说课稿 新人教版五四制
- 2024-2025学年高中语文 第1单元 向青春举杯(活动体验)单元序列写作(一)激活我们的诗情说课稿 苏教版必修1
- 浙教版七年级科学下册说课稿:4.4月相
- 机械厂噪声投诉处理办法
- 双鸭山事业单位笔试真题2025
- EYSkyworth供应链SCM流程规划含现状分析与调研访谈记录
- 三年级健康饮食教案
- 混合信号芯片测试验证-洞察及研究
- 5.1 延续文化血脉(课件) 2025-2026学年度九年级上册 道德与法治 统编版
- 海水的秘密课件
- 系统运维期月度运行维护报告范文
- 2025-2026学年人教版七年级英语上册starterunit1-3单元测试卷(含答案)
- 2025年乡镇文旅部门工作人员招聘考试必-备知识点与模拟题集
- 抖音达人签约合同协议书
- 森林消防队森林火灾扑救知识培训考试题库题库(附含答案)
- 湖南美术出版社二年级上册美术教学计划
评论
0/150
提交评论