将项目从一个JComboBox传输到另一个JComboBox

时间:2014-08-22 11:27:18

标签: java swing jcombobox

您好我试图将一个物体从一个组合框转移到另一个组合框,反之亦然。 为此, 我使用actionListeners或ItemListeners,没有运气,他们没有回答我的问题,或者在我的实现中可能存在错误。

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

当试图调试这个时,我发现每次我在移除物品的步骤时,其他组合框的听众会发射,这与上面的步骤相同。这会导致循环,只删除项目,并将其放回原始的组合框。

使用ItemListener时,如果选择了或不正确的条件,则会引发更大的错误。伙计们请帮帮我..

*编辑模式/目前正在制作SSCE

2 个答案:

答案 0 :(得分:1)

发现this,正如先生mKorbel所建议的那样。 它做了诀窍,通过setModel(DefaultComboBoxModel模型)方法设置模型,当它试图添加传递的模型的内容时,不会触发ActionListener,而不是激活ActionListener的addItem(Object obj)方法,导致我描述的破坏我的上述问题。

谢谢大家,我了解了一个名为DefaultComboBoxModels的新东西!

答案 1 :(得分:0)

jComboBox12.removeAllItems();
for (int t = 0; t < jComboBox11.getItemCount(); t++) 
{
 jComboBox12.addItem(jComboBox11.getItemAt(t));
}