2011-09-08 87 views
3

这里是场景:我有一个数据库中有3列(id,名称,年龄)的表。我创建了3个摆动组合框和一个按钮,它向数据库发送“选择语句”,并用addItem(...)填充组合框。
现在我想知道如何链接组合框,以便当我从第一个组合框中选择一个值时,第二个组合框提取“名称”,相应的“年龄”值出现在第三个组合框中。java swing组合框选择和链接到其他组合框

我对按钮动作事件:

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

** search是我获得的ResultSet!

在此先感谢。

回答

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); 
+0

+1改变模型; 'DefaultComboBoxModel'可能就足够了。有一个相关的例子[这里](http://stackoverflow.com/questions/3191882)。 – trashgod

+0

或http://stackoverflow.com/questions/6261017/how-to-add-different-jcombobox-items-in-a-column-of-a-jtable-in-swing/6261853#6261853或http:///stackoverflow.com/questions/6246005/jcombobox-change-another-jcombobox/6246655#6246655 +1 – mKorbel

+0

让我试试这些,回到你!毕竟还在学习的过程中! TNX – kevoroid