setSelectedItem为jcombobox

时间:2013-08-12 18:55:23

标签: java swing jcombobox

要制作一个项目,我在jform中有一些jCobobox,你可以选择一些选项,当你想编辑某些东西时,某个对象的值(toString)会显示在另一个具有所选值的jform的jcombobox中。但它不想在组合框中显示值。我想在组合框中显示名称+名字(toString)

try {
    ak = pdb.seekPerson(v.getBuyerId());
    coKoper.removeAllItems();
} catch (ApplicationException ae) {
    javax.swing.JOptionPane.showMessageDialog(this, ae.getMessage());
}

initiateCombo(); //adds the objects tot the combo
coBuyer.setSelectedItem(ak.toString());
}

    private void initiateCombo() {
        PersonDB pdb = new PersonDB();
        try {
            ArrayList<Persons> buyer = pdb.seekAllBuyers();
            for (Persons p : buyer) {
                coBuyer.addItem(p);
            }
}

2 个答案:

答案 0 :(得分:0)

看起来coBuyer组合框包含Persons对象。您检索要选择的Persons对象并将其存储在ak中。

组合框将显示Persons对象的toString()方法。默认情况下,它显示Object.toString()。你需要在Persons类中使用@Override toString()并让它返回name + firstname,或者你想要组合框显示的任何内容。

答案 1 :(得分:0)

那么,您是否尝试覆盖班级toString()的{​​{1}}方法? 类似的东西:

Persons

此外,像这样使用@Override public String toString() { return name + " " + firstname ; } (我认为setSelectedItemak的实例):

Persons

不要忘记覆盖coBuyer.setSelectedItem(ak); 方法;)

equals(Object o)