Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich versuche gerade eine Combobox zu erstellen und mit einem Array aus Daten zu füllen.
Normalerweise wird das Array ja mit den Startparameter übergeben, aber zu diesem Zeitpunkt gibt es das Array noch nicht.
Also bleibt die Combobox leer
Java:
cmbSchachtel[0] = new JComboBox();
Jetzt suche ich einen Befehl mit dem ich das Array zu einem späteren Zeitpunkt übergeben kann.
ich hatte eigentlich an .add oder .get gedacht aber leider nichts gefunden.
Also ich verstehe gerade nicht, was Du genau möchtest. Elemente kannst zu einer JComboBox mittels addItem hinzu fügen.
Die JComboBox ist ansonsten übrigens auch ein generische Klasse - du solltest also durchaus mit angeben, was du darin anzeigen willst, also z.B. new JComboBox<String>() oder so. (Das wird vor allem später wichtig, wenn Du auch über ListCellRenderer die Darstellung anpassen willst und so.
Also ich verstehe gerade nicht, was Du genau möchtest. Elemente kannst zu einer JComboBox mittels addItem hinzu fügen.
Die JComboBox ist ansonsten übrigens auch ein generische Klasse - du solltest also durchaus mit angeben, was du darin anzeigen willst, also z.B. new JComboBox<String>() oder so. (Das wird vor allem später wichtig, wenn Du auch über ListCellRenderer die Darstellung anpassen willst und so.
Eine addAllItems oder so gibt es nicht. Aber eine kleine Methode sollte das Problem ja schnell lösen:
Java:
public static <T> void addAllItems(final JComboBox<T> comboBox, final T... items) {
for (T item : items) comboBox.addItem(item);
}
Wobei man diesen Einzeiler so auch direkt nutzen kann und keine Methode benötigt (eigentlich zwei Zeilen, aber ich packe sowas gerne zusammen. Mag man als schlechte Angewohnheit ansehen... Und wenn man es in mehrere Zeilen macht, dann am Besten noch die { } setzen so dass wir bei 3 Zeilen wären ...)
Das kriegst du dann nur hin, wenn du die ComboBox mit einem eigenen ComboBoxModel erstellst (Die Verwendung von Models würde ich im übrigen im Allgemeinen empfehlen). Aber das macht dann keinen großen Unterschied, ob du die Methode im Model schreibst oder von "Außen" (siehe Beispiel @kneitzel).
Java:
public class MyComboBoxModel<T> extends DefaultComboBoxModel<T> {
public void addAll(T[] elements) {
for (T element : elements) {
super.addElement(element);
}
}
}