在Java中实现JOptionPane

时间:2015-06-19 23:14:42

标签: java swing joptionpane

我创建了这个弹出窗口,该窗口将显示以响应我的gui中单击的按钮。我有两个问题。

  1. 如何摆脱单选按钮下方的文本字段?
  2. 点击确定按钮后我需要检查选择了哪个单选按钮,但我没有创建该按钮。那么我该如何实现actionPerformed函数呢?
  3. 我的代码:

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if(evt.getSource() == jButton2)
             optionPopup();
    } 
    
    private void optionPopup(){
        JPanel panel = new JPanel();
        JRadioButton undergraduateButton = new JRadioButton();
        JRadioButton graduateButton = new JRadioButton();
        ButtonGroup group = new ButtonGroup();
    
        undergraduateButton.setText("Option A");
        graduateButton.setText("Option B");
        group.add(undergraduateButton);
        group.add(graduateButton);
        panel.add(undergraduateButton);
        panel.add(graduateButton);
    
        JOptionPane.showInputDialog(panel);
    

    enter image description here

2 个答案:

答案 0 :(得分:5)

  1. 使用JOptionPane.showMessageDialog代替JOptionPane.showInputDialog

    如果您仍想使用?图标而不是!图标,请使用

    JOptionPane.showMessageDialog(null, panel, "title", JOptionPane.QUESTION_MESSAGE);
    

    您还可以使用JOptionPane.PLAIN_MESSAGE

    删除图标

    如果要确保客户端按下OK按钮,请使用

    int response = JOptionPane.showConfirmDialog(null, panel, "title", JOptionPane.PLAIN_MESSAGE);  
    

    如果response-1,则表示窗口已被X按钮关闭,如果0用户已按下OK

    更多信息:https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

    1. 使用undergraduateButton.isSelected()graduateButton.isSelected()查看其中一个是否已被选中。

答案 1 :(得分:2)

我认为您尝试做的事情被称为JOptionPane的直接使用Refer to the documentation了解更多详情。

 JOptionPane pane = new JOptionPane(arguments);
 pane.set.Xxxx(...); // Configure
 JDialog dialog = pane.createDialog(parentComponent, title);
 dialog.show();