Hallo,
ich habe diese Klasse:
Und binde die als Model an eine Combobox:
wenn ich nun das Objekt mit aus einem JSON lade, passt alles:
** Muss ich eigentlich hier nochmal das "setModel" aufrufen?
Wie kann ich nun aber "Product" zu dem Objekt "CategorieExport" hinzufügen, damit die in der ComboBox auftauchen?:
Da zeigt die ComboBox dann nichts mehr an.
Und wie lösche ich wieder ein product?
Ich dachte ich brauch nur die "CategorieExport" aktualisieren mit .add und .remove der einzelnen Product .. aber die ComboBox refresht dann nicht.[/CODE]
ich habe diese Klasse:
Java:
public class CategorieExport extends AbstractListModel implements ComboBoxModel {
public ArrayList<Product> product = new ArrayList<Product>();
Product selection = null;
@Override
public Object getElementAt(int index) {
return product.get(index);
}
@Override
public int getSize() {
return product.size();
}
@Override
public Object getSelectedItem() {
return selection;
}
@Override
public void setSelectedItem(Object item) {
selection = (Product) item;
}
}
Und binde die als Model an eine Combobox:
Java:
JComboBox cmbProducts = new JComboBox();
cmbProducts.setModel(categorieExport);
cmbProducts.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
product = (Product) cmbProducts.getSelectedItem();
product.addPropertyChangeListener(ProductEditor.this);
product.refresh();
}
});
wenn ich nun das Objekt mit aus einem JSON lade, passt alles:
Java:
categorieExport = gson.fromJson(reader, CategorieExport.class);
cmbProducts.setModel(categorieExport);
cmbProducts.setSelectedIndex(0);
** Muss ich eigentlich hier nochmal das "setModel" aufrufen?
Wie kann ich nun aber "Product" zu dem Objekt "CategorieExport" hinzufügen, damit die in der ComboBox auftauchen?:
Code:
categorieExport.product.add(new Product());
cmbProducts.setModel(categorieExport);
cmbProducts.setSelectedIndex(categorieExport.getSize() - 1);
product = (Product) cmbProducts.getSelectedItem();
poduct.addPropertyChangeListener(ProductEditor.this);
product.refresh();
Und wie lösche ich wieder ein product?
Ich dachte ich brauch nur die "CategorieExport" aktualisieren mit .add und .remove der einzelnen Product .. aber die ComboBox refresht dann nicht.[/CODE]
Zuletzt bearbeitet: