Java 将项目从一个JComboBox转移到另一个JComboBox

Java 将项目从一个JComboBox转移到另一个JComboBox,java,swing,jcombobox,Java,Swing,Jcombobox,嗨,我正在尝试将一个对象从一个组合框转移到另一个组合框,反之亦然。 为此,, 我使用ActionListener或ItemListener,但不幸的是它们没有回答我的问题,或者可能只是我的实现中出现了一些错误 假设我们必须使用组合框,组合框1和组合框2。 基本上, 1.我首先将所选项目添加到另一个组合框(combobox2) 2.我删除第一个组合框(组合框1)上的选定项 在尝试调试时,我发现每次我在删除项的步骤中,另一个combobox的侦听器都会启动,执行与上面相同的步骤。这将导致一个循环,该

嗨,我正在尝试将一个对象从一个组合框转移到另一个组合框,反之亦然。 为此,, 我使用ActionListener或ItemListener,但不幸的是它们没有回答我的问题,或者可能只是我的实现中出现了一些错误

假设我们必须使用组合框,组合框1和组合框2。 基本上, 1.我首先将所选项目添加到另一个组合框(combobox2) 2.我删除第一个组合框(组合框1)上的选定项

在尝试调试时,我发现每次我在删除项的步骤中,另一个combobox的侦听器都会启动,执行与上面相同的步骤。这将导致一个循环,该循环只删除该项,并将其放回原始组合框

使用ItemListener时,如果选择了正确的if条件,则会抛出更大的错误。伙计们,请帮帮我

*在编辑模式下/根据mKorbel爵士的建议,目前正在制作SSCE。 它做到了,通过setModel(DefaultComboBoxModel model)方法设置模型在尝试添加传递的模型内容时不会触发ActionListener,而addItem(Object obj)方法触发ActionListener会造成我在上面的问题中描述的混乱

谢谢大家,我学到了一个叫做DefaultComboxModels的新东西

jcombox12.removeAllItems();
jComboBox12.removeAllItems();
for (int t = 0; t < jComboBox11.getItemCount(); t++) 
{
 jComboBox12.addItem(jComboBox11.getItemAt(t));
}
for(int t=0;t
对JComboBox的所有更改都应在其模型中完成,在此处搜索DefaultComboxModel,更好地搜索MutableComboxModel此表单中的问题在此处不可回答,为了获得更好的帮助,请尽早发布SSCCE/MCVE,简短、可运行、可编译,并在局部变量中使用JComboBox的硬编码值,对于SSCCE/MCVE表单中的代码,可能使用GridLayout而不是MigLayout这里不是答案,而是一条建议:为什么不使用两个
JList
s来代替组合框?您可以轻松地在列表的模型之间传输项目。但是我们不能使用jcombobox而不是列表吗?我使用combobox来节省空间。为了节省空间,@dic19的建议可以在一个模式对话框中完成。只使用代码的答案没有多大帮助。请解释一下,这不是动态的。您只需删除所有并重新添加它们。这将引发上述同样的问题