Java Swing组合框选择和链接到其他组合框

3
这是一种情景:我在数据库中有一个包含3列(id,name,age)的表。我创建了3个Swing组合框和一个按钮,该按钮向数据库发送“select语句”,并使用addItem(...)填充组合框。
现在我想知道如何链接组合框,以便当我从第二个组合框中选择一个值时,提取“名称”的适当“年龄”值显示在第三个组合框中。

我的按钮的ActionEvent:

 jComboBox1.addItem(search.getInt("ID"));
 jComboBox2.addItem(search.getString("NAME"));
 jComboBox3.addItem(search.getString("AGE")); 

“search”是我获取的结果集!谢谢。
1个回答

3

对于这样的操作,您应该实现一个自定义ComboBoxModel

您可以在setSelectedItem方法中放置您选择的逻辑:

public class YourComboBoxModel implements ComboBoxModel{
    public void setSelectedItem(Object anItem){

    }
    public Object getSelectedItem() {...}
    public Object getElementAt(int index){...} 
    public int getSize() {...}
}

并将所需的ComboBoxModel添加到相关的JComboBox中:

YourComboBoxModel model = new YourComboBoxModel();
JComboBox box = new JComboBox();
box.setModel(model);

+1 用于更改模型;DefaultComboBoxModel 可能已经足够了。这里有一个相关的例子:http://stackoverflow.com/questions/3191882。 - trashgod
如何在Swing的JTable的一列中添加不同的JComboBox项? 或者如何更改另一个JComboBox? +1 - mKorbel
让我试试这些,然后再回来告诉你!毕竟还在学习的过程中!谢谢。 - kevoroid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接