JList einen Eintrag hinzufügen?

Status
Nicht offen für weitere Antworten.

L-ectron-X

Gesperrter Benutzer
Du besorgst dir ihr Model
Code:
DefaultListModel listModel = (DefaultListModel)myList.getModel();

Und dann kannst du Elemente am Ende der JList hinzufügen mit
Code:
listModel.addElement(element);

oder an eine bestimmte Position einfügen mit
Code:
listModel.add(index, element);

Nachzulesen hier: http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/DefaultListModel.html
und hier: http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JList.html
 
G

Guest

Gast
hmm bei mir funktioniert das irgendwie noch nicht mit dem DefaultListModel...
sieht bei mir folgendermaßen aus:

Code:
for (int j = 0; j < namen.size(); j++) {
                String hilf = namen.get(j);
                    if (hilf.startsWith(karte[i])) {
                        // Ihr Model besorgen
                        DefaultListModel listModel = (DefaultListModel)list[i].getModel(); //List ist eine JList
                        listModel.addElement(hilf);
                    }
            }

zeigt auch keinen Fehler an, aber wenn ich es starten möchte, spuckt er folgende Exception aus...

Exception in thread "main" java.lang.ClassCastException: javax.swing.JList$3 cannot be cast to javax.swing.DefaultListModel
 

L-ectron-X

Gesperrter Benutzer
Code:
... = (DefaultListModel)list[i].getModel()
Hast du mehrere JList-Referenzen in einem Array gespeichert?
Dein Code besorgt nämlich das Model einer JList an Index-Position i aus einem JList-Array...

Edit: Fein!
 

kleiner_held

Top Contributor
Ich glaube das Problem war, das er kein DefaultListModel verwendet hat.
Wenn man eine JList mittels new JList(Object[]) erzeugt, wird eine anonyme innere Klasse von JList als Model verwendet. Die ist auch nicht mutable.
 
M

Miggel

Gast
Wie hat sich das Problem jetzt gelöst, ich steh nämlich gerade bei dem gleichen Problem, und weiß nicht wie man es beheben kann:

Code:
tModel1 = (DefaultListModel)jPartner1.getModel();
 
M

Miggel

Gast
Oh, falscher Code Schnippsel,
die Frage ging an Gast, folgende Fehlermeldung ist zu sehen:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$1 cannot be cast to javax.swing.DefaultListMode
 
G

Guest

Gast
Miggel hat gesagt.:
Oh, falscher Code Schnippsel,
die Frage ging an Gast, folgende Fehlermeldung ist zu sehen:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$1 cannot be cast to javax.swing.DefaultListMode
An dem JList$1 erkennst du, dass es eine Instanz einer anonymen Klasse ist und ClassCastException sagt
dir hier, dass es kein DefaultListModel ist.

Hol dir am besten das hier (Verwendung weiter unten):
Code:
class GenericListModel<T> extends AbstractListModel
{
   private static final long serialVersionUID = 1L;
   private List<T> data = Collections.synchronizedList(new ArrayList<T>());

   public GenericListModel()
   {
      super();
   }

   public final void setData( final List<T> newData)
   {
      data.clear();
      data.addAll(newData);
      fireContentsChanged(this, 0, data.size()-1);
   }

   public final List<T> getData()
   {
      return new ArrayList<T>(data);
   }

   public final void add(final T value)
   {
      int changeIndex = data.size();
      data.add(value);
      fireIntervalAdded(this, changeIndex, changeIndex);
   }

   public final boolean remove(final T value)
   {
      boolean result = false;
      int index = data.indexOf(value);
      if(index >= 0)
      {
         result = data.remove(value);
         fireIntervalRemoved(this, index, index);
      }
      return result;
   }

   public final Object getElementAt(int index)
   {
      return data.get(index);
   }

   public final int getSize()
   {
      return data.size();
   }
}

abstract class AbstractListCellRenderer<T> extends DefaultListCellRenderer
{
   public AbstractListCellRenderer()
   {
      super();
   }

   @Override
   @SuppressWarnings("unchecked")
   public final Component getListCellRendererComponent(final JList list, final Object value, int index, boolean isSelected, boolean cellHasFocus)
   {
      JLabel label = (JLabel)super.getListCellRendererComponent(list, "", index, isSelected, cellHasFocus);
      label.setText(formatValue((T)value));
      return label;
   }

   protected abstract String formatValue(final T value);
}
Verwendung (angenommen du hast Objekte vom Typ Person)
Code:
list.setModel(new GenericListModel<Person>());
list.setCellRenderer(
   new AbstractListCellRenderer<Person>() {
      private static final long serialVersionUID = 1L;
      protected final String formatValue(final Person value)
      {
         return String.format("%s - %s", value.getNachname(), value.getVorname());
      }
   }
);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
F [JList] mit addElement einen Eintrag hinzufügen AWT, Swing, JavaFX & SWT 3
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
J JList scrollen AWT, Swing, JavaFX & SWT 3
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JList: Bestimmte Objekte ausschließen AWT, Swing, JavaFX & SWT 1
F JList aktualisiert nicht AWT, Swing, JavaFX & SWT 24
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
F JList bei Windowbuilder AWT, Swing, JavaFX & SWT 8
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
P JList erstellen AWT, Swing, JavaFX & SWT 4
G DefaultListModel für JList AWT, Swing, JavaFX & SWT 2
P Übergeben von ListModel an nichtparametrisierte JList AWT, Swing, JavaFX & SWT 8
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
O Swing JList beim Klicken in der GUI erstellen AWT, Swing, JavaFX & SWT 6
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
D Swing ArrayList in Jlist/ List oder Array in JList/List AWT, Swing, JavaFX & SWT 5
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
N AWT Markierte Zeile jList aus mySQL DB löschen AWT, Swing, JavaFX & SWT 2
S JList repaint AWT, Swing, JavaFX & SWT 1
F Swing JTextField in JList (Funktion beibehalten) AWT, Swing, JavaFX & SWT 2
H JList AWT, Swing, JavaFX & SWT 5
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
S JList Index finden AWT, Swing, JavaFX & SWT 6
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
N JComponenten in JList oder doch anders? AWT, Swing, JavaFX & SWT 0
S Swing JList, ArrayList + DefaultModel AWT, Swing, JavaFX & SWT 5
B Tabelleneinträge in JList anzeigen AWT, Swing, JavaFX & SWT 5
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
M JList Model filtern AWT, Swing, JavaFX & SWT 4
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
K Mehrfachselektierungen in einer JList AWT, Swing, JavaFX & SWT 6
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
S Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
E JList /DefaultListModel mit Datenbank verbinden AWT, Swing, JavaFX & SWT 10
L SQL & Jtable o. JList AWT, Swing, JavaFX & SWT 5
K Swing JList und veränderte CellRenderer AWT, Swing, JavaFX & SWT 8
B JList + ListCellRenderer AWT, Swing, JavaFX & SWT 5
B JList -> Disabled AWT, Swing, JavaFX & SWT 6
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
I Jlist isselectionEmpty AWT, Swing, JavaFX & SWT 4
I Jlist dynamisch aus Datenbank füllen AWT, Swing, JavaFX & SWT 14
R Swing unbegrenzte Anzahl vonEinträgen in JList AWT, Swing, JavaFX & SWT 2
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
P Elemente einer JList ausgeben AWT, Swing, JavaFX & SWT 11
M JList mit 2-zeiligen Objekten füllen AWT, Swing, JavaFX & SWT 7
S JList mit Einträgen versehen schlägt fehl AWT, Swing, JavaFX & SWT 4
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
S Fragen zu JList AWT, Swing, JavaFX & SWT 3
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
W JList valueChanges weiterleiten? AWT, Swing, JavaFX & SWT 14
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
E Jlist nur mit Klasse? AWT, Swing, JavaFX & SWT 5
D Swing JList <-> AdapterModel <-> Model AWT, Swing, JavaFX & SWT 4
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
B JList nach dem Rendern sortieren AWT, Swing, JavaFX & SWT 3
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
D JList items voneinander trennen AWT, Swing, JavaFX & SWT 10
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
T JList und Objekte AWT, Swing, JavaFX & SWT 7
M Swing JList Item in andere JList während Ausführung AWT, Swing, JavaFX & SWT 4
V JList filtern AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben