ich hab ein klassisches MVC aufgebaut.
im model hab ich meine LinkedList mit Kundendaten (Kundennummer und Kundenname)
und eine methode
public void kundenAusgeben() {
String alleKunden = null;
for (Kunde i : kundenListe) {
alleKunden += ""+i + "\n";
}
if (alleKunden == null){
controlString = "keine Kunden vorhanden";
fireModelEvent2(new ModelEvent(this));
}
else {
lastString = ""+alleKunden;
fireModelEvent(new ModelEvent(this));
}
}
controlString und lastString werden über return-String-Methoden zurückgegeben.
im Controller sieht der dazugehörige aufruf dann so aus:
if(e.getActionCommand().equals(Mete2View.KUNDEN)){
((Mete2Model)getModel()).kundenAusgeben();
}
und in der View passiert dann das:
JTextArea texfeld = new JTextArea(10, 100);
public void modelChanged(ModelEvent e) {
textfeld.setText((((Mete2Model) getMvcModel()).getLastString()));
textfeld.setText((((Mete2Model) getMvcModel()).getControlString()));
}
----------------
klappt super mit dem JTextArea
nun will ich aber den inhalt aus der LinkedList (also die Kundennummer und den Kundennamen) in ner JList darstellen (um dann später auf einen eintrag zu klicken und das was für den eintrag in einer anderen klasse - in einer hashmap - gespeichert wurde in einem zweiten JList anzuzeigen)
hat jemand ne idee wie das funktioniert? :/
JList mag nur Object[]-Datentypen aufnehmen und keine Strings oder gar meine ganze LinkedList
im model hab ich meine LinkedList mit Kundendaten (Kundennummer und Kundenname)
und eine methode
public void kundenAusgeben() {
String alleKunden = null;
for (Kunde i : kundenListe) {
alleKunden += ""+i + "\n";
}
if (alleKunden == null){
controlString = "keine Kunden vorhanden";
fireModelEvent2(new ModelEvent(this));
}
else {
lastString = ""+alleKunden;
fireModelEvent(new ModelEvent(this));
}
}
controlString und lastString werden über return-String-Methoden zurückgegeben.
im Controller sieht der dazugehörige aufruf dann so aus:
if(e.getActionCommand().equals(Mete2View.KUNDEN)){
((Mete2Model)getModel()).kundenAusgeben();
}
und in der View passiert dann das:
JTextArea texfeld = new JTextArea(10, 100);
public void modelChanged(ModelEvent e) {
textfeld.setText((((Mete2Model) getMvcModel()).getLastString()));
textfeld.setText((((Mete2Model) getMvcModel()).getControlString()));
}
----------------
klappt super mit dem JTextArea
nun will ich aber den inhalt aus der LinkedList (also die Kundennummer und den Kundennamen) in ner JList darstellen (um dann später auf einen eintrag zu klicken und das was für den eintrag in einer anderen klasse - in einer hashmap - gespeichert wurde in einem zweiten JList anzuzeigen)
hat jemand ne idee wie das funktioniert? :/
JList mag nur Object[]-Datentypen aufnehmen und keine Strings oder gar meine ganze LinkedList