Swing JList wird nicht angezeigt

jav123

Mitglied
Hallo,
ich habe das Problem, dass die JList die ich in das Programm eingefügt habe nicht angezeigt wird. Ich habe es schon mit mehreren Lösungsansätzen versucht, doch ich bin so langsam am verzweifeln. Ich sitze gerade an einer Skispringer Simulation und ich möchte nachdem ich die Teilnehmer des Springes erstellet habe, diese in einer JList anzeigen lassen. Dafür habe ich einmal den Frame (erstellt mit dem WindowBuilder) der auf dem die JList angezeigt werden soll:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.awt.event.ActionEvent;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;

public class ListeAnzeigenGui extends JFrame {

    private JPanel contentPane;
  
    private Verwaltung v3;
    private JList<String> jlTeilnehmer;
  
    //protected DefaultListModel<Skispringer> anzeigeModel;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ListeAnzeigenGui frame = new ListeAnzeigenGui();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public ListeAnzeigenGui() {
      
        //anzeigeModel = new DefaultListModel<Skispringer>();
      
        v3 = new Verwaltung();
      
        jlTeilnehmer = null;
      
        setTitle("Lassen Sie sich ihre Liste anzeigen");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
      
        JLabel lblU1 = new JLabel("Ihre Liste");
        lblU1.setBounds(178, 11, 83, 14);
        contentPane.add(lblU1);
      
        JButton btnOK = new JButton("OK");
        btnOK.setBounds(335, 227, 89, 23);
        btnOK.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Durchgang1 d1 = new Durchgang1();
                d1.setVisible(true);
                dispose();
            }
        });
        contentPane.add(btnOK);
      
[B]        JScrollPane scrollPane1 = new JScrollPane();
        scrollPane1.setBounds(10, 211, 353, -164);
        contentPane.add(scrollPane1);
      
        jlTeilnehmer = new JList<String>();
        scrollPane1.setViewportView(jlTeilnehmer);
        jlTeilnehmer.setModel(v3.anzeigeModel);[/B]
    }
}
Und außerdem habe ich eine Klasse die das ganze verwaltet. In dieser Klasse ist auch die Liste enthalten, die die Teilnehmer speichert. Nicht wundern ich muss zu Ausbildung Zwecken die Klasse List benutzen um die Teilnehmer zu Speichern.
Java:
import java.util.ArrayList;

import javax.swing.DefaultButtonModel;
import javax.swing.DefaultListModel;

/**
*
* @author
* @version 1.0
*
* Diese Klasse dient zur Verwaltung der Listen und der Top 3 Skispringer.
*
*/

public class Verwaltung {
  
    // Bezugsobjekte
    public List<Skispringer> teilnehmer;
    private List<Skispringer> qualifiziert;
    private RandomTools rT1;
    public DefaultListModel<String> anzeigeModel;
  
    // Attribute
    private Skispringer[] top3;
    //private ArrayList<Skispringer> anzeige;
  
    // Konstruktor
    public Verwaltung() {
        teilnehmer = new List<Skispringer>();
        qualifiziert = new List<Skispringer>();
        top3 = new Skispringer[3];
        rT1 = new RandomTools();
        //anzeige = new ArrayList<Skispringer>();
        anzeigeModel = new DefaultListModel<String>();
    }
  
    public void teilnehmerHinzufuegen(Skispringer pSkispringer) {
        teilnehmer.append(pSkispringer);
    }
  
    public void teilnehmerEntfernen(Skispringer pSkispringer) {
        teilnehmer.toFirst();
        while(!teilnehmer.isEmpty() && teilnehmer.hasAccess()) {
            if(teilnehmer.getContent().equals(pSkispringer)) {
                teilnehmer.remove();
                break;
            }
            teilnehmer.next();
        }
    }
  
    public void teilnhemerPunkteZuweisen() {
        teilnehmer.toFirst();
        while(!teilnehmer.isEmpty() && teilnehmer.hasAccess()) {
            teilnehmer.getContent().setPunkte(rT1.ganzeZufallszahl(1, 100));
            teilnehmer.next();
        }
    }
  
    //public void teilnhemerlisteUmwandeln() {
        //teilnehmer.toFirst();
        //while(!teilnehmer.isEmpty() && teilnehmer.hasAccess()) {
            //anzeige.add(teilnehmer.getContent());
            //teilnehmer.next();
        //}
    //}
  
    public void teilnehmerListeInListModel() {
        teilnehmer.toFirst();
        while(!teilnehmer.isEmpty() && teilnehmer.hasAccess()) {
            anzeigeModel.addElement(teilnehmer.getContent().getNachname());
            teilnehmer.next();
        }
    }
  
    public void qualifiziertenHinzufuegen(Skispringer pQualifiziert) {
        qualifiziert.append(pQualifiziert);
    }
  
    public void qualifiziertenEntfernen(Skispringer pQualifiziert) {
        qualifiziert.toFirst();
        while(!qualifiziert.isEmpty() && qualifiziert.hasAccess()) {
            if(qualifiziert.getContent().equals(pQualifiziert)) {
                qualifiziert.remove();
                break;
            }
            qualifiziert.next();
        }
    }

}
Um durch die Liste durch zu scrollen habe ich die JList noch in einen ScrollPane gelegt. Anbei noch ein Bild von dem Frame, wo die Liste angezeigt werden soll. Screenshot (7).png
 
Zuletzt bearbeitet:

MoxxiManagarm

Top Contributor
teilnehmer = new List<Skispringer>();
Klappt das denn? List ist doch nur ein Interface, du versuchst hier also eine neue Instanz von einem Interface zu erzeugen.

Ansonsten versuchst du 2 Listen synchron zu halten (so verstehe ich es zumindest), deine List selbst und das ListModel. Das ist ungünstig.
Wo wird diese Synchronisationsmethode teilnehmerListeInListModel überhaupt aufgerufen?
Du könntest den Skispringer direkt in dem DefaultListModel speichern, für die korrekte Anzeige muss die Skispringer Klasse nur die toString-Methode implementieren.
 

jav123

Mitglied
Ich nutze die generische Klasse List, also die Abiturklasse. Ich hänge mal die Dokumentation dieser Klasse als PDF an. Zuerst erstelle ich Skispringer (mit den Attribut nachname und punkte). Diese Skispringer speichere ich dann in der Liste Teilnehmer. Diese Liste möchte ich Jetzt als JList darstellen um sie zu visualisieren und auf dem Frame darstellen. Deshalb versuche ich die Teilnehmerliste in ein DefaulListModell umzuwandeln um sie anschließend auf den Frame darzustellen. (Also die Nachname der Skispringer).
 

Anhänge

  • Dokumentation Klasse List.pdf
    354,2 KB · Aufrufe: 3
K

kneitzel

Gast
Also das du nichts siehst, kann schon damit zusammen hängen:
scrollPane1.setBounds(10, 211, 353, -164);

Eine Höhe von -164 wird natürlich zur Höhe 0.

Falls Du noch mit Anzeige-Problemen zu kämpfen hast, dann würde ich das auch erst einmal separieren, also ein Model verwenden, wo dann der Fehler nicht sein kann, dass es nicht befüllt wurde oder so ... also immer nur ein Thema nach dem anderen abhaken. Also erst, wenn etwas geht, das nächste angehen.

Das kann dann z.B. etwas in der Art bedeuten:
Java:
        DefaultListModel<String> anzeigeModel = new DefaultListModel<String>();
        anzeigeModel.addElement("one");
        anzeigeModel.addElement("two");
        anzeigeModel.addElement("thre");

        jlTeilnehmer = new JList<String>(anzeigeModel);
        scrollPane1.setViewportView(jlTeilnehmer);
==> Es wird ein Model erstellt und mit drei Werten befüllt. Damit ist ausgeschlossen, dass das Model nicht befüllt wird oder so ...
Die Koordinaten scheinen halt generell nicht gut durchdacht zu sein fürchte ich, so dass Du erst einmal das Design richtig erstellen möchstest.
 

jav123

Mitglied
Also das du nichts siehst, kann schon damit zusammen hängen:
scrollPane1.setBounds(10, 211, 353, -164);

Eine Höhe von -164 wird natürlich zur Höhe 0.

Falls Du noch mit Anzeige-Problemen zu kämpfen hast, dann würde ich das auch erst einmal separieren, also ein Model verwenden, wo dann der Fehler nicht sein kann, dass es nicht befüllt wurde oder so ... also immer nur ein Thema nach dem anderen abhaken. Also erst, wenn etwas geht, das nächste angehen.

Das kann dann z.B. etwas in der Art bedeuten:
Java:
        DefaultListModel<String> anzeigeModel = new DefaultListModel<String>();
        anzeigeModel.addElement("one");
        anzeigeModel.addElement("two");
        anzeigeModel.addElement("thre");

        jlTeilnehmer = new JList<String>(anzeigeModel);
        scrollPane1.setViewportView(jlTeilnehmer);
==> Es wird ein Model erstellt und mit drei Werten befüllt. Damit ist ausgeschlossen, dass das Model nicht befüllt wird oder so ...
Die Koordinaten scheinen halt generell nicht gut durchdacht zu sein fürchte ich, so dass Du erst einmal das Design richtig erstellen möchstest.
Danke für den Tipp jetzt wird mir die Liste angezeigt, muss jetzt nur noch Werte hinzufügen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
S Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
R AWT JList wird nur zufällig auf der GUI aktualisiert AWT, Swing, JavaFX & SWT 5
G JList wird in einem Applet nur teilweise aktualisiert AWT, Swing, JavaFX & SWT 12
Tom299 JList ListCellRenderer wird überschrieben AWT, Swing, JavaFX & SWT 8
C JList, valueChanged wird doppelt ausgeführt? <<closed AWT, Swing, JavaFX & SWT 2
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
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 Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben