Hallo, habe folgendes Problem:
(Anmerkung: habe eine ähnliche Frage vor einigen Tagen gestellt und habe nun eine Folgefrage.)
Möchte Datensätze, die in einem zweidimensionalen Array Datensätze gespeichert (ID, Wert) sind …
Beispiel:
ID Wert
1 Auto
2 Fahrrad
3 Bahn
4 Flugzeug
… über eine Combo-Box in einem JFrame zur Auswahl stellen. Dabei soll der Wert angezeigt werden und die ID weitergegeben werden.
Wie man direkt man die Daten direkt in die Combobox eingibt und die ID weitergeben kann wurde das letzte Mal bereits gelöst. Zur Erinnerung:
Nun aber meine Problemstellung:
Wie bekomme ich die Daten aus einem Array in die ComboBox so dass der Wert angezeigt wird und die ID bei Auswahl weitergegeben wird, analog dem obigen Beispiel?
Habe mal unten stehenden Ansatz gewählt:
Die ComboBox wird im JFrame angezeigt, aber leider werden nicht die Werte „Auto“ und „Fahrrad“ sondern „[LRow;@133f1d7“ und „[LRow;@7d8483“ angegeben. Bei der Auswahl von einem dieser Werte gibt es ne Fehlermeldung:
Wie ist das konkret anders umzusetzen – bestenfalls mit Code und Erklärung (habe mit Java erst angefangen und nur ne Erklärung ist für mich erst einmal verwirrend )
Vielen Dank
Sirob81
(Anmerkung: habe eine ähnliche Frage vor einigen Tagen gestellt und habe nun eine Folgefrage.)
Möchte Datensätze, die in einem zweidimensionalen Array Datensätze gespeichert (ID, Wert) sind …
Beispiel:
ID Wert
1 Auto
2 Fahrrad
3 Bahn
4 Flugzeug
… über eine Combo-Box in einem JFrame zur Auswahl stellen. Dabei soll der Wert angezeigt werden und die ID weitergegeben werden.
Wie man direkt man die Daten direkt in die Combobox eingibt und die ID weitergeben kann wurde das letzte Mal bereits gelöst. Zur Erinnerung:
Java:
combo1 = new JComboBox(new Row[]{
new Row("1", "Auto"),
new Row("2", "Fahrrad"),
new Row("3", "Bahn"),
new Row("4", "Flugzeug")});
combo1.addItemListener(this);
public void itemStateChanged(ItemEvent e)
{
if (e.getStateChange()==ItemEvent.SELECTED) {
JComboBox selectedChoice = (JComboBox)e.getSource();
if (selectedChoice.equals(combo1)){
String id = ((Row) combo1.getSelectedItem()).getId();
System.out.println("id: " + id);
System.out.println("combo1");
}
else if (selectedChoice.equals(combo2)){
String id = ((Row) combo2.getSelectedItem()).getId();
System.out.println("id: " + id);
System.out.println("combo2");
}
}
}
public class Row
{
private String id, val;
public Row(String id, String val) {
this.id = id;
this.val = val;
}
public String getId() {
return id;
}
public String getVal() {
return val;
}
public String toString() {
return val;
}
}
Wie bekomme ich die Daten aus einem Array in die ComboBox so dass der Wert angezeigt wird und die ID bei Auswahl weitergegeben wird, analog dem obigen Beispiel?
Habe mal unten stehenden Ansatz gewählt:
Die ComboBox wird im JFrame angezeigt, aber leider werden nicht die Werte „Auto“ und „Fahrrad“ sondern „[LRow;@133f1d7“ und „[LRow;@7d8483“ angegeben. Bei der Auswahl von einem dieser Werte gibt es ne Fehlermeldung:
Java:
String[][] array = new String[2][2];
array[0][0] = "1";
array[0][1] = "Auto";
array[1][0] = "2";
array[1][1] = "Fahrrad";
combo2 = new JComboBox();
for (int i=0; i<array.length; i=i+1){
for (int j = 0; j < 1; j=j+1) {
combo2.addItem(new Row[]{new Row(array[i][j], array[i][j+1])});
}
}
Vielen Dank
Sirob81