在 Java 中实现 JOptionPane
Implementing JOptionPane in Java
我创建了这个弹出窗口 window,它将显示以响应在我的 gui 中单击的按钮。关于这个我有两个问题。
- 如何去掉单选按钮下方的文本字段?
- 单击确定按钮后,我需要检查选择了哪个单选按钮,但我没有创建该按钮。那么我将如何为此实现 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);
使用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
- 使用
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();
我创建了这个弹出窗口 window,它将显示以响应在我的 gui 中单击的按钮。关于这个我有两个问题。
- 如何去掉单选按钮下方的文本字段?
- 单击确定按钮后,我需要检查选择了哪个单选按钮,但我没有创建该按钮。那么我将如何为此实现 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);
使用
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
- 使用
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();