Hallo.
folgendes Problem, wenn ich in der Box etwas auswähle, kommt immer das gleiche als auswahlobjekt... (siehe Code)
Löschen geht auch nicht
so mache ich das in HaupGui Klasse
Jemand ne Idee ?
Danke schon mal.
folgendes Problem, wenn ich in der Box etwas auswähle, kommt immer das gleiche als auswahlobjekt... (siehe Code)
Java:
ublic class AuswahlBoxModell extends AbstractListModel implements
MutableComboBoxModel {
/**
*
*/
private static final long serialVersionUID = 4084928491913716688L;
/**
* Dies ist die Liste aller enthaltener Daten.
*/
private ArrayList<String> daten = null;
/**
* Dieser Index speichert bezeichnet das gerade angezeigte Element.
*/
private int auswahl = 0;
/**************************
* Konstruktor
*************************/
public AuswahlBoxModell() {
holeDaten();
}
/**
*
*/
private void holeDaten() {
Register reg = new Register();
String[] server = reg.gebeServerNamen();// macht folgendes:
// "return pref.node(HAUPT_PFAD).childrenNames();"
daten = new ArrayList<String>();
for (String x : server) {
this.daten.add(x);
}
setSelectedItem(reg.gebeDefaultServer());
}
@Override
public void addElement(Object x) {
daten.add((String) x);
fireIntervalAdded(this, daten.size()-1,daten.size()-1);
}
@Override
public void insertElementAt(Object x, int index) {
daten.add(index, (String) x);
fireIntervalAdded(this, daten.size()-1,daten.size()-1);
}
@Override
public void removeElement(Object x) {
daten.remove(x);
fireIntervalRemoved(this, daten.size()-1,daten.size()-1);
}
@Override
public void removeElementAt(int index) {
daten.remove(index);
fireIntervalRemoved(this, daten.size()-1, daten.size()-1);
}
@Override
public Object getSelectedItem() {
return daten.get(auswahl);
}
@Override
public void setSelectedItem(Object x) {
System.out.println("SetSelectedItem " + (String) x); //<-- Kommt immer das gleiche, egal was man auswaehlt
// in den meinsten Faellen, daten.size() max 3.
for (int i = 0; i < daten.size(); i++) {
if (daten.get(i).equals(x)) {
auswahl = i;
return;
}
}
auswahl = 0;
}
@Override
public Object getElementAt(int index) {
return daten.get(index);
}
@Override
public int getSize() {
return daten.size();
}
}
Löschen geht auch nicht
so mache ich das in HaupGui Klasse
Java:
...
modell = new AuswahlBoxModell();
serverAuswahlBox = new JComboBox(modell);
...
final JButton loeschen = new JButton(Icons.LOESCHEN);
loeschen.setToolTipText(ToolTips.SERVER_LOESCHEN);
loeschen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
modell.removeElement(serverAuswahlBox.getSelectedItem());
}
});
Jemand ne Idee ?
Danke schon mal.