【问题标题】:What is the point of JComboBox's getSelectedItem()?JComboBox 的 getSelectedItem() 有什么意义?
【发布时间】:2020-11-28 17:32:44
【问题描述】:

我刚刚阅读了 JComboBox 的 JavaDoc(我保证我有生活......我不是为了好玩而阅读。=P),我认为我的程序遇到的问题可以归因于getSelectedItem() 方法。文档说:

返回当前选中的项目。

如果组合框是可编辑的,那么这个值可能没有通过 addIteminsertItemAt 或数据构造函数添加到组合框中。

如果您无法获取使用这些方法或构造函数添加的值,那么该方法有什么用?以及如何从“可编辑”JComboBox 中获取值?

【问题讨论】:

    标签: java user-interface jcombobox


    【解决方案1】:

    如果您无法获得以前的值 添加了这些方法或 构造函数,有什么用 方法?我怎样才能获得价值 来自“可编辑”的 JComboBox?

    这不是文档所说的。文档说所选项目可能没有使用 add/insertItem 添加,如果用户自己编辑/键入值,情况很可能就是这种情况。

    在任何情况下,getSelectedItem() 都会为您提供在组合框中选择的任何内容,无论它是您填写的值之一,还是用户键入的值。

    【讨论】:

    • 啊,谢谢。我误解了。我将“可编辑”理解为“可变”。
    【解决方案2】:

    用户在 JComboxBox 中添加的额外值不会添加到 ComboBoxModel 中,但将通过 getSelectedItem() 以 java.lang.String 的形式提供

    【讨论】:

      【解决方案3】:
      final Object object = jComboBox.getEditor().getItem();
      if (object instanceof String) {
          final String string = (String)object;
      }
      

      【讨论】:

        【解决方案4】:

        在您允许某些输入超出组合框模型中提供的值范围的情况下很有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-26
          • 2010-11-29
          • 2010-10-15
          • 2011-02-05
          相关资源
          最近更新 更多