⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optionpaneframe.java

📁 ACCP 软件工程java 教程学生用书
💻 JAVA
字号:
package optionpaneapplication;

import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JComboBox;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class OptionPaneFrame extends JFrame {
    JPanel contentPane;
    JComboBox cboOptions = new JComboBox();
    JTextField txtOption = new JTextField();
    public OptionPaneFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(306, 155));
        setTitle("OptionFrame");
        cboOptions.setBounds(new Rectangle(24, 28, 257, 23));
        cboOptions.addActionListener(new
                                     OptionPaneFrame_cboOptions_actionAdapter(this));
        cboOptions.addItem("选择 JOptionPane 类型");
        cboOptions.addItem("带有默认标题和图标的消息");
        cboOptions.addItem("带有自定义标题和警告图标的消息");
        cboOptions.addItem("带有自定义标题和错误图标的消息");
        cboOptions.addItem("带有自定义标题但没有图标的消息");
        cboOptions.addItem("是/否 (不带任何提示消息)");
        cboOptions.addItem("是/否 (程序员术语)");
        cboOptions.addItem("是/否/取消 (程序员术语)");
        txtOption.setText("");
        txtOption.setBounds(new Rectangle(60, 64, 182, 21));
        contentPane.add(cboOptions);
        contentPane.add(txtOption);
    }

    void yes_nodisplay(int n) {
        if (n == JOptionPane.YES_OPTION)
            txtOption.setText("哎呀!");
        else if (n == JOptionPane.NO_OPTION)
            txtOption.setText("我也是!");
        else
            txtOption.setText("来吧 -- 告诉我!");
    }


    void yes_no_canceldisplay(int x) {
        if (x == JOptionPane.YES_OPTION)
            txtOption.setText("给您: 绿色的鸡蛋和树!");
        else if (x == JOptionPane.NO_OPTION)
            txtOption.setText("好的, 那就只要火腿.");
        else if (x == JOptionPane.CANCEL_OPTION)
            txtOption.setText("唔, 我肯定不会吃这些东西!");
        else
            txtOption.setText("请告诉我们您想要什么!");
}

    void yes_nooptiondisplay(int i) {
        if (i == JOptionPane.YES_OPTION)
            txtOption.setText("您一定在开玩笑!");
        else if (i == JOptionPane.NO_OPTION)
            txtOption.setText("我也不喜欢它们.");
        else
            txtOption.setText("来吧 -- 告诉我实情!");
   }
    public void cboOptions_actionPerformed(ActionEvent e) {
        switch (cboOptions.getSelectedIndex()) {
        case 1:
            JOptionPane.showMessageDialog(this, "树应该是绿色的.");
            break;

        case 2:
            JOptionPane.showMessageDialog(this, "树应该是绿色的", "空警告",
                                          JOptionPane.WARNING_MESSAGE);
            break;

        case 3:
            JOptionPane.showMessageDialog(this, "树应该是绿色的", "空错误",
                                          JOptionPane.ERROR_MESSAGE);
            break;

        case 4:
            JOptionPane.showMessageDialog(this, "树应该是绿色的", "一则简单的消息",
                                          JOptionPane.PLAIN_MESSAGE);
            break;

        case 5:
            int n = JOptionPane.showConfirmDialog(this, "您要吃绿色的树和绿色的鸡蛋吗?",
                                                  "一个可笑的问题",
                                                  JOptionPane.YES_NO_OPTION);
            yes_nodisplay(n);
            break;

        case 6:
            Object[] options = {"是的, 请", "不, 谢谢!"};
            int i = JOptionPane.showOptionDialog(this, "您要吃绿色的树和绿色的鸡蛋吗?",
                                                 "一个愚蠢的问题",
                                                 JOptionPane.YES_NO_OPTION,
                                                 JOptionPane.QUESTION_MESSAGE, null,
                                                 options, options[0]);
            yes_nooptiondisplay(i);
            break;

        case 7:
            Object[] option = {"是的, 请", "不, 谢谢", "取消!"};
            int x = JOptionPane.showOptionDialog(this,
                                                 "要吃绿色的树和绿色的鸡蛋吗?",
                                                 "一个愚蠢的问题",
                                                 JOptionPane.YES_NO_CANCEL_OPTION,
                                                 JOptionPane.QUESTION_MESSAGE, null,
                                                 option, option[2]);
            yes_no_canceldisplay(x);
        }
    }
}

    class OptionPaneFrame_cboOptions_actionAdapter implements ActionListener {
        private OptionPaneFrame adaptee;
        OptionPaneFrame_cboOptions_actionAdapter(OptionPaneFrame adaptee) {
            this.adaptee = adaptee;
        }

        public void actionPerformed(ActionEvent e) {
            adaptee.cboOptions_actionPerformed(e);
        }
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -