在 Java 中实现 JOptionPane

Implementing JOptionPane in Java

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

  1. 如何去掉单选按钮下方的文本字段?
  2. 单击确定按钮后,我需要检查选择了哪个单选按钮,但我没有创建该按钮。那么我将如何为此实现 actionPerformed 函数呢?

我的代码:

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);

  1. 使用JOptionPane.show<b>Message</b>Dialog代替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 这意味着 window 被 X 按钮关闭,如果是 0 用户按下 OK .

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


  1. 使用undergraduateButton.isSelected()graduateButton.isSelected()查看是否选择了其中之一。

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

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