Hallo,
ich versuche in einer JList alle Einträge einer HashMap anzuzeigen. Das Anzeigen klappt bereits, jedoch wird der Key angezeigt. Meine HashMap besteht aus <String, Objekt> das Objekt besteht aus <String1, String2, String3, String4>.
Wie kann ich in der setListData-methode der JList auf String1 des Objekts zugreifen?
Anbei meine Klassen:
Main
GUI (gekürzt)
Datenbank
ich versuche in einer JList alle Einträge einer HashMap anzuzeigen. Das Anzeigen klappt bereits, jedoch wird der Key angezeigt. Meine HashMap besteht aus <String, Objekt> das Objekt besteht aus <String1, String2, String3, String4>.
Wie kann ich in der setListData-methode der JList auf String1 des Objekts zugreifen?
Anbei meine Klassen:
Main
Java:
public class main {
public static void main(String[] args) {
Datenbank datenbank = new Datenbank();
datenbank.nachteileErstellen();
datenbank.vorteileErstellen();
GUI gui = new GUI();
gui.updateList(datenbank);
gui.setVisible(true);
}
GUI (gekürzt)
Java:
import java.awt.BorderLayout;
import blabla;
public class GUI extends JFrame {
private JPanel contentPane;
private JButton btnStart;
private JList vorteileList;
private JList nachteileList;
public static void main(String[] args) {
}
public GUI() {
}
public void updateList(Datenbank db){
vorteileList.setListData(db.getVorteile().keySet().toArray());
nachteileList.setListData(db.getNachteile().keySet().toArray());
}
private class Click implements ActionListener{
}
}
}
Datenbank
Java:
import java.util.*;
public class Datenbank {
private LinkedHashMap<String, Vorteil> vorteile = new LinkedHashMap<String, Vorteil>();
private LinkedHashMap<String, Nachteil> nachteile = new LinkedHashMap<String, Nachteil>();
public HashMap<String, Vorteil> getVorteile() {
return vorteile;
}
public void setVorteile(LinkedHashMap<String, Vorteil> vorteile) {
this.vorteile = vorteile;
}
public HashMap<String, Nachteil> getNachteile() {
return nachteile;
}
public void setNachteile(LinkedHashMap<String, Nachteil> nachteile) {
this.nachteile = nachteile;
}
public void vorteileErstellen() {
Vorteil adel = new Vorteil("Adel I-III",
"Der Held ist angesehen, genießt die Privilegien des Adels und kann vom Meister Erleichterungen zugesprochen bekommen, wenn er gegenüber Rangniedrigeren agiert.",
"Kultur muss über einen passenden Adel verfügen.",
"5 pro Stufe");
vorteile.put("1", adel);
}
public void nachteileErstellen() {
Nachteil angst = new Nachteil("Angst vor … I-III",
"Pro Stufe der Angst erleidet der Held eine Stufe Furcht, so lange er dem Auslöser ausgesetzt ist.",
"keine",
"8 pro Stufe");
nachteile.put("1", angst);
}
}
Java:
public class Vorteil extends Regel{
protected String voraussetzung;
protected String apKosten;
public String getVoraussetzung() {
return voraussetzung;
}
public void setVoraussetzung(String voraussetzung) {
this.voraussetzung = voraussetzung;
}
public String getApKosten() {
return apKosten;
}
public void setApKosten(String apKosten) {
this.apKosten = apKosten;
}
public Vorteil(String bezeichnung, String regel, String voraussetzung, String apKosten) {
super();
this.bezeichnung = bezeichnung;
this.regel = regel;
this.voraussetzung = voraussetzung;
this.apKosten = apKosten;
}
@Override
public String toString() {
String ausgabe = "";
ausgabe = ausgabe + super.toString();
return ausgabe + "#Voraussetzung: " + voraussetzung + '\n' + "#Ap Gutschrift: " + apKosten;
}
}