【问题标题】:JComboBox automatically selects first item in list [duplicate]JComboBox自动选择列表中的第一项[重复]
【发布时间】:2011-11-03 16:23:02
【问题描述】:

可能重复:
How to configure JComboBox not to select FIRST element when created?

我有一个 JComboBox,里面有几个可选项目。我的问题是当用户单击 JComboBox 时,列表按预期显示,但是当他决定不选择任何项目而只是单击框架上的其他任何位置时,JComboBox 会自动选择列表中的第一个项目。我该如何避免这种情况,而不是选择第一个项目,而是选择最后一个被选中的项目?我想我需要重写一个 JComboBox 侦听器或其他东西!?

【问题讨论】:

  • 我不确定您为什么需要我的代码示例,这是默认的 JComboBox 行为,我并不是要您为我编写代码,只是为了给我指明一些方向。我知道我在具有 OnEdit 和 OnCancellation 的 JComboBox 上看到了类似监听器之类的东西!?
  • @AlenBer 我从来没见过,真的
  • 也许您可以在组合框打开之前保存当前选择的索引,然后如果用户没有选择,则重新设置选择的索引。
  • 你描述的is not默认行为。默认行为是当您单击框架中的其他位置时保留最后选择的项目。如果您不想发布您的 SSCCE,那么我们无法为您提供帮助。

标签: java swing jcombobox


【解决方案1】:

最好的方法是提供您自己的 ComboBoxModel 来处理您的情况。不幸的是,要做到这一点并不容易。主要是在 Read-Only CB 中,正确识别用户手势非常棘手。

【讨论】:

  • -1,试图操纵模型不是解决办法。
猜你喜欢
  • 2011-12-23
  • 2014-11-26
  • 2018-08-05
  • 1970-01-01
  • 2014-01-07
  • 2022-06-10
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
相关资源
最近更新 更多