11.7 对话框

11.7.1 选项对话框

创建选项对话框的步骤:
1.选择对话框的类型(消息,确认,选项,输入)
2.选择图标(错误,信息,警告,问题,无或者自定义)
3.选择消息(字符串,图标,自定义组件,或者他们的集合)
4.对于确认对话框,选择选项类型(默认,Yes/No,Yes/No/Cancel,OK/Cancel)
5.对于选项对话框。选择选项(字符串、图标,自定义组件)
6.对于输入对话框,选择文本框或是组合框
7.调用JOptionPane API中相应的方法

example:

int selection = JOptionPane.showConfirmDialog(parent,"Message","Title",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);
if(selection == JOptionPane.OK_OPTION);

11.7.2 创建对话框

要想实现一个对话框,需要扩展JDialog类。这与应用程序窗口需要扩展JFrame的过程完全一样。具体过程如下:
1.在对话框构造器中,调用超类JDialog的构造器
2.添加对话框的用户界面组件
3.添加事件处理器
4.设置对话框的大小

example:

public class AboutDialog extends JDialog {
    public AboutDialog(JFrame owner){
        super(owner,"dialog test",true);
        add(new JLabel("<html><h1><i>Core Java</i></h1><hr>By Cay Horstmann</html>"), BorderLayout.CENTER);
        JPanel panel = new JPanel();
        JButton ok = new JButton("OK");

        ok.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ok.setVisible(false);
            }
        });

        panel.add(ok);

        add(panel,BorderLayout.SOUTH);
        setSize(250,150);
    }

}

11.7.3 数据交换

11.7.4 文件对话框

建立文件对话框并获取用户选择信息的步骤
1.建立一个JFileChooser对象。与JDialog类的构造器不同,不需要指定父组件,可以在多个窗体中重用一个文件选择器。例如JFileChooser chooser = new JFileChooser();

2.调用setCurrentDirectory方法设置目录
例如要使用当前的工作目录:chooser.setCurrentDirectory(new File("."));

3.如果有一个希望用户选择的默认文件名,可以使用setSelectedFile方法指定:chooser.setSelectedFile(new File(filename));

4.如果允许用户在对话框中选择多个文件,需要调用setMultiSelectionEnabled方法。chooser.setMultiSelectionEnabled(true);

5.如果想让对话框只显示某种特定类型的文件,需要设置文件过滤器。
6.在默认情况下,用户只能在文件选择器中选择文件。如果希望用户选择目录,需要使用chooser.setFileSelectionMode方法

chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

7.调用int result = chooser.showOpenDialog(parent);int result = chooser.showSaveDialog(parent);显示对话框
也可以使用int result = chooser.showDialog(parent,"Select");
仅当用户确认、取消或者关闭对话框时这些调用才返回。返回值可以是JFileChooser.APPROVE_OPTION;JFileChooser.CANCEL_OPTION;JFileChooser.ERROR_OPTION;

8.调用getSelectedFile()或者chooser.getSelectedFiles()来获取用户选择的一个或多个文件,前者返回一个文件对象,后者返回一个文件对象数组。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值