Hinzufügen von Elementen zu einer JList
Ich habe ein array von Objekten, die die Namen von Kunden, so wie diese: Customers[]
Wie ich hinzufügen kann, diese Elemente zu einem vorhandenen JList automatisch, nachdem ich eine Taste drücken? Ich habe versucht, so etwas wie dieses:
for (int i=0;i<Customers.length;i++)
{
jList1.add(Customers[i].getName());
}
Aber ich bekomme immer einen Fehler. Wie kann ich das lösen? Ich arbeite mit NetBeans.
Die Fehlermeldung, die angezeigt wird ist "nicht geeignet, die Methode add(String). Übrigens meine Methode getName wieder den Namen des Kunden in eine Zeichenfolge.
Welche Fehler sind Sie immer? Auch, mehr code wird deine Frage leichter zu verstehen.
Riecht wie eine falsche Liste etwas hinzuzufügen!
How to Listen Verwenden
Riecht wie eine falsche Liste etwas hinzuzufügen!
How to Listen Verwenden
InformationsquelleAutor Little | 2013-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
add
Methode, die Sie verwenden ist dieContainer#add
Methode, also sicherlich nicht das, was Sie brauchen.Sie müssen ändern Sie die
ListModel
z.B.Edit:
Habe ich eingestellt das code-snippet, fügen Sie die Namen direkt auf das Modell. Dies vermeidet die Notwendigkeit für ein custom renderer
model.addElement( customers[i].getNmae() );
?Ich bevorzuge, um die Daten-Elemente, die direkt in das Modell, und zu entscheiden, in dem renderer, welche Art von Eigenschaften, die ich zeigen will. Aber ja, wenn ich wollte, passen Sie den code in der Frage näher, die ich brauchen würde, um den Namen hinzufügen, und ersetzen Sie die
<Customer>
durch<String>
in der Liste und Modell definitiongibt es nicht einen anderen einfacheren Weg, es zu tun? Ich meine, mehr für den Benutzer transparent. Ich erinnere mich, in den anderen Sprachen, es war so einfach als Liste zu setzen.additem()
Es ist so einfach wie das aufrufen
addElement
auf das Modell der iso-Ansicht auf (=dieJList
). Nicht wirklich schwer, würde ich sagenwas bedeutet DefaultListModel<Kunde> model = new DefaultListModel<>()?
InformationsquelleAutor Robin
Hinzufügen, um die
ListModel
anstatt direkt an denJList
selbst. Derzeit sind Sie mit der hinzufügen Methode, die keinen Einfluss auf den Inhalt der Liste.DefaultListModel
ist veränderlich, so kann zur Laufzeit aktualisiert.Erklärt:
Hinzufügen:
InformationsquelleAutor Reimeus