在Java中实现JOptionPane

Ael*_*eon 0 java swing joptionpane

我创建了这个弹出窗口,它会显示在我的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);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Psh*_*emo 5

  1. 用而不是JOptionPane.showMessageDialogJOptionPane.showInputDialog

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

    JOptionPane.showMessageDialog(null, panel, "title", JOptionPane.QUESTION_MESSAGE);
    
    Run Code Online (Sandbox Code Playgroud)

    您也可以使用删除图标 JOptionPane.PLAIN_MESSAGE

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

    int response = JOptionPane.showConfirmDialog(null, panel, "title", JOptionPane.PLAIN_MESSAGE);  
    
    Run Code Online (Sandbox Code Playgroud)

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

    有关更多信息,访问:https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html


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