0

アイテムを作成するために、いくつかのオプションを選択できる jform にいくつかの jCombobox があり、何かを編集したい場合、オブジェクト (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);
            }
}
4

2 に答える 2

1

toString()さて、クラスのメソッドをオーバーライドしようとしますPersonsか?
何かのようなもの:

@Override
public String toString() {
  return name + " " + firstname ;
}

さらに、次のように使用します(のインスタンスでsetSelectedItemあると思います):akPersons

coBuyer.setSelectedItem(ak);

メソッドをオーバーライドすることを忘れないでくださいequals(Object o);)

@Override
public boolean equals(Object o) {
  if( o instanceof Persons ){
    boolean check = /* here your own code*/;
    return check;
  }
  return false ;
}
于 2013-08-12T19:25:07.460 に答える