【问题标题】:Related comboboxes相关组合框
【发布时间】:2012-04-17 12:38:11
【问题描述】:

我有两个组合框,它们都有相同的 3 个字符串。当我从第一个 ComboBox 中选择一个字符串时,我希望该字符串在第二个 ComboBox 中消失,这样我就不能再次选择相同的字符串了。

 final JComboBox comboBox = new JComboBox();  

 comboBox.setModel(new DefaultComboBoxModel(new String[]{"Rome","London","Paris"}));

 final JComboBox comboBox_1 = new JComboBox();

 comboBox_1.setModel(new DefaultComboBoxModel(new String[{"Paris","London","Rome"}));

【问题讨论】:

    标签: java combobox jframe


    【解决方案1】:

    DefaultComboBoxModel 方法 removeElement(Object anObject) 是你要找的吗?

    即为第一个 ComboBox 添加一个侦听器,以便在进行选择时,从另一个 ComboBox 的模型中删除该选择?

    【讨论】:

    • 我这样做了,但是当我再次执行相同的操作时,第二个字符串也会被删除。因此,如果我选择不同的城市 3 次,第二个组合框将变为空。
    • @siemya - 这是 javadoc 中描述的行为。鉴于您的评论,您可能想尝试 removeAll() 然后 addElement() 为第一个 ComboBox 中的每个元素,除了已选择的元素。从您的问题中不清楚用户体验会是什么样子,所以我建议您尝试一下 ComboBoxModel 方法。
    猜你喜欢
    • 1970-01-01
    • 2015-09-01
    • 2017-08-04
    • 1970-01-01
    • 2022-08-18
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多