我正在使用带有输入对话框的JOptionPane。我无法捕捉到选择的价值,以便我可以在以后的程序中使用它。
String[] options = {"Selection Sort", "Insertion Sort"};
Object searchType = JOptionPane.showInputDialog(null, null, "Choose a sort type ",
JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
......这就是它的样子。
编辑:我无法捕获用户选择的选项。 我试过了:
int selection = JOptionPane.QUESTION_MESSAGE;
那将编译,但我实际上无法使用该值。
基本上当一个人选择两个选项中的一个我想知道它是哪一个。
edit2:以供将来参考:
Object selection = searchType;
if(selection.equals(options[0]))
{
//something
}
else if(selection.equals(options[1]))
{
//something else
}
答案 0 :(得分:1)
您应该检查返回的对象并将其与数组中保存的项目进行比较。
或者,或者在其上调用toString()
并使用返回的字符串值来决定。
答案 1 :(得分:1)
我认为你应该稍微阅读JavaDocs ......
返回:
用户的输入,或null表示用户取消了输入
这意味着,如果使用选择Okay
,它将返回用户选择的options
参数列出的项目。在您的情况下,如果他们取消了对话框,则会Selection Sort
或Insertion Sort
或null
更新了示例
使用此选项并选择[Okay]输出Selection Sort
String[] options = {"Selection Sort", "Insertion Sort"};
Object searchType = JOptionPane.showInputDialog(null, null, "Choose a sort type ",
JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
System.out.println(searchType);
仔细查看How to Make Dialogs了解更多详情