【发布时间】:2014-08-22 11:27:17
【问题描述】:
您好,我正在尝试将一个对象从一个组合框转移到另一个组合框,反之亦然。 要做到这一点, 我使用 actionListeners 或 ItemListeners,但不幸的是他们没有回答我的问题,或者我的实现中可能有问题。
假设我们有组合框,combobox1 和 combobox2。 基本上, 1.我先把选中的item添加到另一个combobox(combobox2) 2.我删除第一个组合框(combobox1)上的选定项
在尝试调试时,我发现每次我在删除项目的步骤中,另一个组合框的侦听器都会触发,它执行与上述相同的步骤。这会导致一个循环,即删除该项目并将其放回原始组合框。
使用 ItemListener 时,如果选择或不选择适当的条件,则会引发更大的错误。各位大侠帮帮我..
*处于编辑模式/正在制作 SSCE
【问题讨论】:
-
对 JComboBox 的所有更改都应该在其模型中完成,在这里搜索 DefaultComboBoxModel,更适合 MutableComboBoxModel
-
这里无法回答此表单中的问题,为了更好的帮助,请尽快发布 SSCCE/MCVE,简短、可运行、可在局部变量中使用 JComboBox 的硬编码值进行编译,也许可以使用 GridLayout 而不是 MigLayout此处为 SSCCE/MCVE 形式的代码
-
不是一个答案,而是一个建议:为什么不使用两个
JLists 而不是组合框?您可以轻松地在列表模型之间传输项目。 -
但是我们不能用 jcombobox 代替 list 吗?我使用组合框来节省空间。
-
为了节省空间,@dic19 的建议可以在模态对话框中完成。