我想创建一个选项窗口,其中打开JOptionPane
,用户浏览它,然后设置选项。不过,我在以下代码的第10-14行遇到了问题。
if (key == KeyEvent.VK_ENTER) {
Object[] possibleValues = { "Trails (Broken)", "Invicibility" };
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input",
JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
if (possibleValues[0] != null) {
Object[] options = {"True", "False"};
JOptionPane.showOptionDialog(null,
"Press True To Make It True And False For False",
(String) possibleValues[0], JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);
if (options[0] != null) {
Options.OP_TRAILS = true;
} else if(options[1] != null) {
Options.OP_TRAILS = false;
}
}
}
答案 0 :(得分:1)
我认为您需要阅读JOptionPane
JavaDocs和How to Make Dialogs才能了解归还给您的内容
JOptionPane
为您提供有关用户所选内容的信息。例如......
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input",
JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
selectedValue
将为null
(未选择任何内容)或possibleValues
数组中的某个值。
JOptionPane.showOptionDialog
将返回:
一个整数,表示用户选择的选项;如果用户关闭了对话框,则为
CLOSED_OPTION
像这样......
Object[] possibleValues = {"Trails (Broken)", "Invicibility"};
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input",
JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
System.out.println(selectedValue);
if (possibleValues[0].equals(selectedValue)) {
// Trails (Broken) was selected
Object[] options = {"True", "False"};
int result = JOptionPane.showOptionDialog(null, "Press True To Make It True And False For False", (String) possibleValues[0], JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);
switch (result) {
case 0:
Options.OP_TRAILS = false;
break;
case 1:
Options.OP_TRAILS = false;
break;
}
} else if (possibleValues[1].equals(selectedValue)) {
// Invicibility was selected
}
可能更合适