如何获得JOptionPane的退出值

时间:2018-04-19 18:03:20

标签: java joptionpane

抱歉,如果已经提出这个问题,但我无法在任何地方找到它。我使用JOptionPane制作了自定义JSlider。它完成它应该做的,但我如何检查按下确定或取消?因为现在无论如何都会这样做。

代码:

JOptionPane optionPane = new JOptionPane();
JSlider slider = getSlider(optionPane);
slider.setValue(value);
optionPane.setMessage(new Object[]{"Select a value: ", slider});
optionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
optionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
optionPane.createDialog(parent, title).setVisible(true);

// get return value of optionPane

我已经完成了这些方法,并没有找到它,这并不意味着;但是,它不存在。
任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

documentation为您创建对话框的方式提供了一个很好的示例。

文档的简短摘要:

JDialog dialog = pane.createDialog(parentComponent, title);
dialog.show();
Object selectedValue = pane.getValue();
if(selectedValue == null)
  return CLOSED_OPTION;
//If there is not an array of option buttons:
if(options == null) {
  if(selectedValue instanceof Integer)
     return ((Integer)selectedValue).intValue();
  return CLOSED_OPTION;
}

在您pane.getValue()对话框后,show()看起来会产生结果值。

您可能希望重新构建代码,以使用this related question中所述的更易于使用的showOptionDialog方法。