我刚刚阅读了JavaDoc for JComboBox(我保证我有生命......我不是为了好玩而读书。= P),我认为我对我的程序遇到的问题可以归结为getSelectedItem()方法。文档说:
返回当前所选项目。
如果组合框是可编辑的,则可能没有使用 addItem , insertItemAt 或数据构造函数将此值添加到组合框中。
如果您无法获取使用这些方法或构造函数添加的值,该方法的用途是什么? 可以如何从“可编辑的”JComboBox中获取值?
链接到JavaDoc: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JComboBox.html#getSelectedItem()
答案 0 :(得分:2)
用户在JComboxBox中添加的额外值将 not 添加到ComboBoxModel中,但将通过getSelectedItem()
作为java.lang.String提供答案 1 :(得分:2)
如果你不能得到那些值 添加了这些方法或与 构造函数,有什么用 方法?我怎样才能获得价值 来自“可编辑的”JComboBox?
这不是文档所说的。文档说可能没有使用add / insertItem添加所选项目,如果用户自己编辑/输入值,则可能就是这种情况。
在任何情况下,getSelectedItem()都会为您提供在组合框中选择的任何内容,无论它是您填写的值之一,还是用户键入的值。
答案 2 :(得分:0)
final Object object = jComboBox.getEditor().getItem();
if (object instanceof String) {
final String string = (String)object;
}
答案 3 :(得分:0)
适用于在组合框模型中允许某些输入超出所提供的值范围的情况。