Java JOptionPane从链接列表中预定义的选择
我目前正在从事一个项目,在该项目中,我必须输入并验证链接列表中的用户答案。列表中有6到8个可能的答案。我正在考虑使用带有预定义选择的JOptionPane,但我不太确定如何从链接列表中执行此操作,如果我可以的话 我正在寻求一些帮助,我将如何做到这一点,甚至一些其他的建议,我可以做什么?关键是我需要能够验证用户的输入,这就是为什么我希望从预定义的选择中进行验证 这正是我所看到的 正如我所说,我愿意接受任何关于我如何能够做到这一点的其他建议,因此欢迎任何建议Java JOptionPane从链接列表中预定义的选择,java,swing,linked-list,joptionpane,Java,Swing,Linked List,Joptionpane,我目前正在从事一个项目,在该项目中,我必须输入并验证链接列表中的用户答案。列表中有6到8个可能的答案。我正在考虑使用带有预定义选择的JOptionPane,但我不太确定如何从链接列表中执行此操作,如果我可以的话 我正在寻求一些帮助,我将如何做到这一点,甚至一些其他的建议,我可以做什么?关键是我需要能够验证用户的输入,这就是为什么我希望从预定义的选择中进行验证 这正是我所看到的 正如我所说,我愿意接受任何关于我如何能够做到这一点的其他建议,因此欢迎任何建议 :)您发布的示例似乎完全正确。然而,这
:)您发布的示例似乎完全正确。然而,这并不能解释任何事情 首先,核心方法是
public static Object showInputDialog(Component parentComponent,
Object message,
String title,
int messageType,
Icon icon,
Object[] selectionValues,
Object initialSelectionValue)
throws HeadlessException
您可以阅读API
因此,您基本上要在这里填写的是消息
,标题
,消息类型
,选择值
,可能还有初始选择值
首先,消息
和标题
本身做了很多解释,所以我不想麻烦这些
messageType
参数表示消息对用户的显示方式。例如,如果在此处使用JOptionPane.ERROR\u MESSAGE
,则会出现该消息,因此系统可能会播放错误蜂鸣音
可能的选项都作为常量包含在JOptionPane
中
- 错误信息
- 信息和信息
- 警告信息
- 问题(留言)
- 平信
selectionValues
,它属于Object[]
类型。API说它是“一个对象数组,提供了可能的选择”,因此基本上就是您当前列表中的内容。您只需将其转换为数组
(在下面的示例中,我使用了一个临时副本,对于6-8个值来说完全可以)
最后但并非最不重要的一点是,initialSelectionValue
允许您指定最初应选择的值
因此,你所要做的就是
public Foo select(List<Foo> options, String message, String title, Foo initiallySelected) {
return (Foo)JOptionPane.showInputDialog(
null, // we don't have a parent component in this example
message, // the message that will appear above the selection
title, // the title that will appear in the window's caption
JOptionPane.QUESTION_MESSAGE, // style is question
null, // we don't show an Icon here, it's just a gimmick
list.toArray(), // the values which can be selected from
initiallySelected // the initially selected value
);
}
public Foo select(列表选项、字符串消息、字符串标题、Foo initiallySelected){
return(Foo)JOptionPane.showInputDialog(
null,//本例中没有父组件
message,//将显示在所选内容上方的消息
title,//将出现在窗口标题中的标题
JOptionPane.QUESTION\u消息,//样式为QUESTION
null,//我们这里不显示图标,这只是一个噱头
list.toArray(),//可以从中选择的值
initiallySelected//初始选择的值
);
}
感谢您的反馈:)