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

📄 dialogdemo.java

📁 初期JAVA学习非常有用的资料。帮助深入了解API。特别是Applet。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        radioButtons[2] = new JRadioButton("Question icon");        radioButtons[2].setActionCommand(questionCommand);        radioButtons[3] = new JRadioButton("Error icon");        radioButtons[3].setActionCommand(errorCommand);        radioButtons[4] = new JRadioButton("Warning icon");        radioButtons[4].setActionCommand(warningCommand);        radioButtons[5] = new JRadioButton("Custom icon");        radioButtons[5].setActionCommand(customCommand);        for (int i = 0; i < numButtons; i++) {            group.add(radioButtons[i]);        }        radioButtons[0].setSelected(true);        showItButton = new JButton("Show it!");        showItButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String command = group.getSelection().getActionCommand();                //no icon                if (command == plainCommand) {                    JOptionPane.showMessageDialog(frame,                                    "Eggs aren't supposed to be green.",                                    "A plain message",                                    JOptionPane.PLAIN_MESSAGE);                //information icon                } else if (command == infoCommand) {                    JOptionPane.showMessageDialog(frame,                                    "Eggs aren't supposed to be green.",                                    "Inane informational dialog",                                    JOptionPane.INFORMATION_MESSAGE);                //XXX: It doesn't make sense to make a question with             //XXX: only one button.            //XXX: See "Yes/No (but not in those words)" for a better solution.                //question icon                } else if (command == questionCommand) {                    JOptionPane.showMessageDialog(frame,                                    "You shouldn't use a message dialog "                                    + "(like this)\n"                                    + "for a question, OK?",                                    "Inane question",                                    JOptionPane.QUESTION_MESSAGE);                //error icon                } else if (command == errorCommand) {                    JOptionPane.showMessageDialog(frame,                                    "Eggs aren't supposed to be green.",                                    "Inane error",                                    JOptionPane.ERROR_MESSAGE);                //warning icon                } else if (command == warningCommand) {                    JOptionPane.showMessageDialog(frame,                                    "Eggs aren't supposed to be green.",                                    "Inane warning",                                    JOptionPane.WARNING_MESSAGE);                //custom icon                } else if (command == customCommand) {                    JOptionPane.showMessageDialog(frame,                                    "Eggs aren't supposed to be green.",                                    "Inane custom dialog",                                    JOptionPane.INFORMATION_MESSAGE,                                    icon);                }            }        });        return create2ColPane(iconDesc + ":",                              radioButtons,                              showItButton);    }    private JPanel createFeatureDialogBox() {        final int numButtons = 4;        JRadioButton[] radioButtons = new JRadioButton[numButtons];        final ButtonGroup group = new ButtonGroup();        JButton showItButton = null;        final String pickOneCommand = "pickone";        final String nonAutoCommand = "nonautooption";        final String customOptionCommand = "customoption";        final String nonModalCommand = "nonmodal";        radioButtons[0] = new JRadioButton("Pick one of several choices");        radioButtons[0].setActionCommand(pickOneCommand);        radioButtons[1] = new JRadioButton("Non-auto-closing dialog");        radioButtons[1].setActionCommand(nonAutoCommand);        radioButtons[2] = new JRadioButton("Input-validating dialog "                                           + "(with custom message area)");        radioButtons[2].setActionCommand(customOptionCommand);        radioButtons[3] = new JRadioButton("Non-modal dialog");        radioButtons[3].setActionCommand(nonModalCommand);        for (int i = 0; i < numButtons; i++) {            group.add(radioButtons[i]);        }        radioButtons[0].setSelected(true);        showItButton = new JButton("Show it!");        showItButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String command = group.getSelection().getActionCommand();                //pick one of many                //XXX: There are some layout problems with this kind                //XXX: of dialog, partly since this dialog has a two-                //XXX: line label, and partly since it uses a combo                //XXX: box that must remain within the window's bounds.                  if (command == pickOneCommand) {                    Object[] possibilities = {"ham", "spam", "yam"};                    String s = (String)JOptionPane.showInputDialog(                                        frame,                                        "Complete the sentence:\n"                                        + "\"Green eggs and...\"",                                        "Customized Dialog",                                        JOptionPane.PLAIN_MESSAGE,                                        icon,                                        possibilities,                                        "ham");                    if (s != null) {                        s = s.trim();                        if (s.length() > 0) {                            setLabel("Green eggs and... " + s + "!");                            return;                        }                    }                     setLabel("Come on, finish the sentence!");                //non-auto-closing dialog                } else if (command == nonAutoCommand) {                    final JOptionPane optionPane = new JOptionPane(                                    "The only way to close this dialog is by\n"                                    + "pressing one of the following buttons.\n"                                    + "Do you understand?",                                    JOptionPane.QUESTION_MESSAGE,                                    JOptionPane.YES_NO_OPTION);                    // You can't use pane.createDialog() because that                    // method sets up the JDialog with a property change                     // listener that automatically closes the window                     // when a button is clicked.                    final JDialog dialog = new JDialog(frame,                                                  "Click a button",                                                 true);                    dialog.setContentPane(optionPane);                    dialog.setDefaultCloseOperation(                        JDialog.DO_NOTHING_ON_CLOSE);                    dialog.addWindowListener(new WindowAdapter() {                        public void windowClosing(WindowEvent we) {                            setLabel("Thwarted user attempt to close window.");                        }                    });                    optionPane.addPropertyChangeListener(                        new PropertyChangeListener() {                            public void propertyChange(PropertyChangeEvent e) {                                String prop = e.getPropertyName();                                if (dialog.isVisible()                                  && (e.getSource() == optionPane)                                 && (prop.equals(JOptionPane.VALUE_PROPERTY) ||                                     prop.equals(JOptionPane.INPUT_VALUE_PROPERTY))) {                                    //If you were going to check something                                    //before closing the window, you'd do                                    //it here.                                    dialog.setVisible(false);                                }                            }                        });                    dialog.pack();                    dialog.setLocationRelativeTo(frame);                    dialog.setVisible(true);                    int value = ((Integer)optionPane.getValue()).intValue();                    if (value == JOptionPane.YES_OPTION) {                        setLabel("Good.");                    } else if (value == JOptionPane.NO_OPTION) {                        setLabel("Try using the window decorations "                                 + "to close the non-auto-closing dialog. "                                 + "You can't!");                    } else {                        setLabel("Something's wrong -- this shouldn't happen.");                    }                //non-auto-closing dialog with custom message area                //NOTE: if you don't intend to check the input,                //then just use showInputDialog instead.                } else if (command == customOptionCommand) {                    customDialog.setLocationRelativeTo(frame);                    customDialog.setVisible(true);                    String s = customDialog.getValidatedText();                    if (s != null) {                        //The text is valid.                        setLabel("Congratulations!  "                                 + "You entered \""                                 + s                                 + "\".");                    }                //non-modal dialog                } else if (command == nonModalCommand) {                    //Create the dialog.                    JDialog dialog = new JDialog(frame, "A Non-Modal Dialog");                    //Add contents to it.                    JLabel label = new JLabel("This is a non-modal dialog");                    label.setHorizontalAlignment(JLabel.CENTER);                    Container contentPane = dialog.getContentPane();                    contentPane.add(label, BorderLayout.CENTER);                    //Show it.                    dialog.setSize(new Dimension(300, 150));                    dialog.setLocationRelativeTo(frame);                    dialog.setVisible(true);                }            }        });        return createPane(moreDialogDesc + ":",                          radioButtons,                          showItButton);    }    public static void main(String[] args) {        JFrame frame = new JFrame("DialogDemo");        Container contentPane = frame.getContentPane();        contentPane.setLayout(new GridLayout(1,1));        contentPane.add(new DialogDemo(frame));        frame.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                System.exit(0);            }        });        frame.pack();        frame.setVisible(true);    }}

⌨️ 快捷键说明

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