• 【Java-GUI】09 Swing03 对话框


    消息弹出框案例:

    package cn.dzz.swing;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    
    public class Demo06 {
    
        JFrame jFrame = new JFrame("消息弹出框案例");
        JTextArea jTextArea = new JTextArea(6, 30);
        JButton jButton = new JButton(new AbstractAction("弹出消息框") {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 弹出一个对话框,显示文本域中输入的内容
                String text = jTextArea.getText();
                JOptionPane.showMessageDialog(
                        jFrame,
                        text,
                        "消息提示",
                        JOptionPane.INFORMATION_MESSAGE
                );
            }
        });
    
    
        public void init(){
            jFrame.add(jTextArea, BorderLayout.CENTER);
            jFrame.add(jButton, BorderLayout.SOUTH);
    
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.pack();
            jFrame.setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo06().init();
        }
    }
    

    几种消息提示框的选择,不同的消息对应配有不同的图标提示

    JOptionPane.INFORMATION_MESSAGE
    // JOptionPane.ERROR_MESSAGE
    // JOptionPane.WARNING_MESSAGE
    // JOptionPane.QUESTION_MESSAGE
    // JOptionPane.PLAIN_MESSAGE, 可以再加上 new ImageIcon(String path) 显示图像
    

    确认对话框案例:

    package cn.dzz.swing;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    
    public class Demo06 {
    
        JFrame jFrame = new JFrame("消息弹出框案例");
        JTextArea jTextArea = new JTextArea(6, 30);
        JButton jButton = new JButton(new AbstractAction("弹出确认框") {
            @Override
            public void actionPerformed(ActionEvent e) {
                String text = jTextArea.getText();
                // JOptionPane.DEFAULT_OPTION
                // JOptionPane.YES_NO_OPTION
                // JOptionPane.YES_NO_CANCEL_OPTION
                int result = JOptionPane.showConfirmDialog(jFrame, text, "确认对话框", JOptionPane.YES_NO_CANCEL_OPTION);
                switch (result) {
                    case JOptionPane.YES_OPTION: //  case JOptionPane.OK_OPTION:
                        jTextArea.append("
    用户选择了YES 和确认的结果一样");
                        break;
                    case JOptionPane.NO_OPTION:
                        jTextArea.append("
    用户选择了NO");
                        break;
                    case JOptionPane.CANCEL_OPTION:
                        jTextArea.append("
    用户选择了 取消");
                        break;
                }
            }
        });
    
        public void init(){
            jFrame.add(jTextArea, BorderLayout.CENTER);
            jFrame.add(jButton, BorderLayout.SOUTH);
    
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.pack();
            jFrame.setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo06().init();
        }
    }
    

    文本输入框案例:

    package cn.dzz.swing;
    
    import jdk.nashorn.internal.scripts.JO;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    
    public class Demo06 {
    
        JFrame jFrame = new JFrame("消息弹出框案例");
        JTextArea jTextArea = new JTextArea(6, 30);
        JButton jButton = new JButton(new AbstractAction("弹出输入框") {
            @Override
            public void actionPerformed(ActionEvent e) {
                String text = jTextArea.getText();
                String input = JOptionPane.showInputDialog(
                        jFrame,
                        "请填写你的输入信息",
                        "输入对话框",
                        JOptionPane.INFORMATION_MESSAGE
                );
                jTextArea.append(input + "
    ");
            }
        });
    
        public void init(){
            jFrame.add(jTextArea, BorderLayout.CENTER);
            jFrame.add(jButton, BorderLayout.SOUTH);
    
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.pack();
            jFrame.setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo06().init();
        }
    }
    

    选择对话框案例:

    package cn.dzz.swing;
    
    import jdk.nashorn.internal.scripts.JO;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    
    public class Demo06 {
    
        JFrame jFrame = new JFrame("消息弹出框案例");
        JTextArea jTextArea = new JTextArea(6, 30);
        JButton jButton = new JButton(new AbstractAction("弹出输入框") {
            @Override
            public void actionPerformed(ActionEvent e) {
                String text = jTextArea.getText();
    
                String[] strings = {
                        "选项1",
                        "选项2",
                        "选项3",
                };
    
                int result = JOptionPane.showOptionDialog(
                        jFrame,
                        "选择提示信息",
                        "选项对话框",
                        JOptionPane.DEFAULT_OPTION,
                        JOptionPane.INFORMATION_MESSAGE,
                        null,
                        strings,
                        "初始选项"
                );
    
                jTextArea.append(strings[result] + "
    ");
            }
        });
    
        public void init(){
            jFrame.add(jTextArea, BorderLayout.CENTER);
            jFrame.add(jButton, BorderLayout.SOUTH);
    
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.pack();
            jFrame.setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo06().init();
        }
    }
    

  • 相关阅读:
    C++ 根据对象名字创建对象
    Google是如何测试的(一)
    lex yacc 学习
    C语言宏定义时#(井号)和##(双井号)的用法
    更多编译器对C++11的支持比较
    用C++11替代Boost的实验之三
    最先进的开源游戏引擎KlayGE 4.2发布
    各编译器对C++11的支持比较
    在Android模拟器上的一些小陷阱
    推出KlayGE Foundation Library
  • 原文地址:https://www.cnblogs.com/mindzone/p/14399889.html
Copyright © 2020-2023  润新知