Swing ArrayList in Jlist/ List oder Array in JList/List

D-AMP

Mitglied
Liebes Java-Forum,
ich hätte da mal ein Problem:
Ich habe eine GUI mit einer Liste/ JList und eine Datenbank in der Benutzernamen gespeichert werden.
Ich möchte nun diese Benutzernamen in der JList (oder List je nachdem was einfacher ist) anzeigen.
Die Benutzernamen kann ich entweder in einer ArrayList oder in einen Normalen string Array speichern.
Hier mal der Codeschnippsel mit der ArrayList:
Java:
private  static ArrayList<String> benutzerliste = new ArrayList<String>();
try {
			String url = "jdbc:mysql://141.39.193.170/chat";
			String username = "chat";
			String password = "945033H";
			spalten = rs.getMetaData().getColumnCount(); 
			Connection con = DriverManager.getConnection(url, username, password);
			stmt = con.createStatement();
			rs = stmt.executeQuery("SELECT Benutzername FROM benutzerdaten");
			
			while (rs.next()) {
				
				for(int i = 1; i<=spalten; i++){
					benutzerliste.add(rs.getString("Benutzername"));
	
				}
				
				
			}
			
		}
Oder hier der Codeschnippsel mit dem Array:
Java:
private static String[] benutzerliste= new String[spalten];
String url = "jdbc:mysql://141.39.193.170/chat";
			String username = "chat";
			String password = "945033H";
			spalten = rs.getMetaData().getColumnCount(); 
			Connection con = DriverManager.getConnection(url, username, password);
			stmt = con.createStatement();
			rs = stmt.executeQuery("SELECT Benutzername FROM benutzerdaten");
while (rs.next()) {

				String user[] = new String[spalten];


				for(int i = 1; i<=spalten; i++){

					user[i] = rs.getString("Benutzername");


	

				}
Dass ganze soll dann über getter in die GUI Klasse übergeben werden, in der die JList/ bzw. List ist.
Java:
private List getList_1() {
		if (list == null) {
			list = new List();
			//list(DB_Manager.getBenutzerliste().toArray());
                        //list.add(DB_Manager.getBenutzerliste().toString());

			
		}
		return list;
	}
Hat irgendjemand ne Idee wie ich jetzt die ArrayList bzw. das Array in die Liste bzw. JList bekomm??? (In den Kommentaren seht ihr was ich schon ein bisschen ausprobiert hab)...
 

Harry Kane

Top Contributor
1. Verwende auf jeden Fall eine JList. Die gehört zum Swing-Framework. Mit java.awt.List wirst du wohl nicht wirklich arbeiten wollen.
2. JList hat einen Konstruktor, der ein Array entgegennimmt. Und ein Array hast du ja schon.
3. Dir ist schon klar, das java.awt.List und java.util.List NIX miteinander zu tun haben?
4. private static Variablen zeigen meist, daß mit dem Design des Programmes was nicht stimmt.
 

Lemao

Mitglied
for(int i=0;i<arrayList.size()/array.length;i++)
_ jList.getModel().addElement(arrayList.get(i)/array) ?
 
Zuletzt bearbeitet:

D-AMP

Mitglied
So erstmal danke für eure Antworten!
Java:
for(int i=0;i<arrayList.size()/array.length;i++)
_ jList.getModel().addElement(arrayList.get(i)/array[i])
Funktioniert leider nicht...:(
1. Verwende auf jeden Fall eine JList. Die gehört zum Swing-Framework. Mit java.awt.List wirst du wohl nicht wirklich arbeiten wollen.
Hatte auch vor eine JList zu verwenden, doch nachdem ich mit diesem ListModel überhaupt nicht zurechtgekommen bin dacht ich mir es wäre vielleicht einfacher eine awt.List zu verwenden da man der ja einfach Strings geben kann. War wohl ein dummer Gedanke, jetzt wird aufjedenfall eine JList verwendet.
3. Dir ist schon klar, das java.awt.List und java.util.List NIX miteinander zu tun haben?
Ist mir bewusst, fand die ArrayList nur 'ne elegante Methode mir die Daten aus der DB zu holen. Doch wenn die JList einen Konstruktor für Arrays hat, ist ein Array natürlich die bessere Methode.
So habs jetzt mal versucht, der Code in der GUI Klasse sieht jetzt so aus:
Java:
private JList getList() {
		if (list == null) {
			DB_Manager.benutzerliste();
			list = new JList(DB_Manager.getUser());
			//Den Array hol ich mir über einen von Eclipse automatisch erzeugten Getter
			
			}
		return list;
	}
Jetzt wird mir allerdings in meiner JList nur der letzte Benutzer der DB angezeigt und nicht alle 5??
Hier nochmal der Code zum DB auslesen:
Java:
rs = stmt.executeQuery("SELECT Benutzername FROM benutzerdaten");
			 user = new String[zeilen]; //Zeilen = 5 Anzahl der Benutzer welche in der DB gespeichert sind
			 while (rs.next()) {
				for(int z =0; z<zeilen;z++) {	
				 user[z] = rs.getString("Benutzername");
				 System.out.println(user[z]); //Es werden alle 5 Benutzernamen richtig ausgegeben 
				 break; 
				}
			}
 
Zuletzt bearbeitet von einem Moderator:

Harry Kane

Top Contributor
lemaos Vorschlag funktioniert deswegen nicht, weil JList.getModel() den Rückgabetyp ListModel hat, und dieses hat keine Methode addElement(). DefaultListModel hat eine.

Java:
while (rs.next()) {
    for(int z =0; z<zeilen;z++) {	
        user[z] = rs.getString("Benutzername");
        System.out.println(user[z]); //Es werden alle 5 Benutzernamen richtig ausgegeben
        break;
    }
}
Diese Schleife ist Käse.
Für jeden Eintrag im resultset schreibst du den Namen des aktuellen users an die erste Position des Array. In user[1] bis user[4] dürfte null drinstehen.
Änder das mal zu
Java:
int z=0;
while (rs.next()) {
        user[z++] = rs.getString("Benutzername");
        System.out.println(user[z]); //Es werden alle 5 Benutzernamen richtig ausgegeben
}
In vielen Fällen ist es übrigens praktisch, ein ListModel selbst zu erstellen, um listartige Daten in einer JList anzuzeigen, anstatt die Daten in ein Array zu packen und dieses zum erstellen einer JList zu verwenden. Dies ist besonders dann sinnvoll, wenn sich der Umfang der Daten ändert.
Hier ist mal ein Beispiel:

Java:
public class ListModelDemo {

    public static void main(String[] args) {

        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ChildListModel clm = new ChildListModel(new Parent(new String[]{"Albert", "Birgit", "Christian", "Doris", "Emil"}));
        JList view = new JList(clm);
        f.getContentPane().add(new JScrollPane(view));
        f.pack();
        f.setVisible(true);
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
        }
        clm.setParent(new Parent(new String[]{"Frieda", "Georg", "Henriette", "Igor", "Jutta"}));

    }

    static class ChildListModel extends AbstractListModel {

        private Parent parent;

        ChildListModel(Parent p) {
            this.parent = p;
        }

        public int getSize() {
            return parent.getChildCount();
        }

        public Object getElementAt(int index) {
            return parent.getChild(index);
        }

        public void setParent(Parent np) {
            this.parent = np;
            fireContentsChanged(this, 0, getSize());
        }
    }

    static class Parent {

        String[] children;

        ;
        
        Parent(String[] children) {
            this.children = children;
        }

        public int getChildCount() {
            return children.length;
        }

        public String getChild(int index) {
            return children[index];
        }
    }

}
 
Zuletzt bearbeitet von einem Moderator:

D-AMP

Mitglied
Java:
int z=0;
while (rs.next()) {
user[z++] = rs.getString("Benutzername");
System.out.println(user[z]); //Es werden alle 5 Benutzernamen richtig ausgegeben
}
Fetten dank dafür :), wär ich wohl nie draufgekommen...
Hab mir jetzt ein DefaultListModel erstellt und hab dann lemaos Vorschlag umgesetzt, funktioniert wunderbar.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
S Swing JList, ArrayList + DefaultModel AWT, Swing, JavaFX & SWT 5
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
C Swing ArrayList in jList AWT, Swing, JavaFX & SWT 3
G jList mit ArrayList füllen AWT, Swing, JavaFX & SWT 3
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
mrbody234 ArrayList<Message> in eine TableView visualisieren AWT, Swing, JavaFX & SWT 2
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
S ChoiceBox aus ArrayList per setValue() mit Wert belegen funktioniert nicht. AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
B ArrayList, Strings anzeigen AWT, Swing, JavaFX & SWT 1
S JavaFx - ausgewählte Rows in Arraylist (Tableview) AWT, Swing, JavaFX & SWT 4
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
K Swing JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 4
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
B Klasse mit ArrayList AWT, Swing, JavaFX & SWT 1
I JTable dynamisch aus ArrayList befüllen AWT, Swing, JavaFX & SWT 3
ZoXlike Wie kann man ArrayList in JTabel einlesen? [WindowBuilder] AWT, Swing, JavaFX & SWT 1
E Eigenes TableModel für ArrayList<String[]> AWT, Swing, JavaFX & SWT 5
S ArrayList Problem AWT, Swing, JavaFX & SWT 3
T JTable dynamisch mit ArrayList AWT, Swing, JavaFX & SWT 2
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
E Problem mit ArrayList AWT, Swing, JavaFX & SWT 7
P Auf gefüllte ArrayList zugreifen AWT, Swing, JavaFX & SWT 12
P ArrayList Rectangles2D AWT, Swing, JavaFX & SWT 29
O JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 3
D Probleme bei Übertrag von ArrayList in Jtable AWT, Swing, JavaFX & SWT 2
L AWT paint mit ArrayList und Iterator AWT, Swing, JavaFX & SWT 3
Z Swing JButton,JFrame, ArrayList & so weiter... AWT, Swing, JavaFX & SWT 20
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
G Swing Elemente aus Arraylist auf JFrame anzeigen AWT, Swing, JavaFX & SWT 9
S JTable - 2D ArrayList & Falsche Werte. AWT, Swing, JavaFX & SWT 3
Screen Fehler bei Get-Methode für ArrayList AWT, Swing, JavaFX & SWT 8
M Swing JTable soll auf ArrayList zugreifen AWT, Swing, JavaFX & SWT 8
B Swing JButtons in eine Arraylist<JButton> einfügen AWT, Swing, JavaFX & SWT 2
J Daten aus einer Textdatei in ArrayList holen AWT, Swing, JavaFX & SWT 9
J ArrayList Inhalt zählen AWT, Swing, JavaFX & SWT 53
J ArrayList Datensätze komplett löschen AWT, Swing, JavaFX & SWT 8
J ArrayList Datensätze auswerten AWT, Swing, JavaFX & SWT 10
Y Swing Aktualisieren eines JPanel mit ArrayList im TableLayout AWT, Swing, JavaFX & SWT 2
L ArrayList Wert löschen klappt nicht AWT, Swing, JavaFX & SWT 11
M ArrayList in 2D Array umfüllen AWT, Swing, JavaFX & SWT 9
C Swing ArrayList in JComboBox AWT, Swing, JavaFX & SWT 6
H ArrayList?! in Tabelle AWT, Swing, JavaFX & SWT 3
B ArrayList in JTable AWT, Swing, JavaFX & SWT 3
B ArrayList im JTextArea anzeigen lassen AWT, Swing, JavaFX & SWT 30
Ollek JTable - Tabelle füllen mit einer ArrayList AWT, Swing, JavaFX & SWT 22
T ArrayList aus KlasseA in KlasseB in JTextArea ausgeben AWT, Swing, JavaFX & SWT 12
KrokoDiehl EventListenerList vs. ArrayList AWT, Swing, JavaFX & SWT 3
I Swing JTree aus ArrayList<File> erzeugen AWT, Swing, JavaFX & SWT 15
Spot84 jtable mit checkboxnode dynamisch per arraylist füllen AWT, Swing, JavaFX & SWT 8
G Wie lasse ich einen Graphen zeichnen(mit einer ArrayList)? AWT, Swing, JavaFX & SWT 5
S Tree - ArrayList Zuordnung! AWT, Swing, JavaFX & SWT 13
nadal15 JTable und ArrayList - selected rows löschen AWT, Swing, JavaFX & SWT 6
G JTable - TableModel aus ArrayList AWT, Swing, JavaFX & SWT 8
QDog JComboBox updaten, ArrayList AWT, Swing, JavaFX & SWT 7
D JLabel's in einer ArrayList speichern? AWT, Swing, JavaFX & SWT 4
G datensätze aus der db in einer arraylist speicher und in gui AWT, Swing, JavaFX & SWT 4
G Aus Arraylist bestimmte Objekte wiedergegeben bekommen? AWT, Swing, JavaFX & SWT 7
L JTable und Daten aus einer ArrayList AWT, Swing, JavaFX & SWT 6
A Components in einer ArrayList aus anderer Klasse speichern AWT, Swing, JavaFX & SWT 8
S Anzahl ActionEvents (Strings in eine ArrayList einfügen) AWT, Swing, JavaFX & SWT 4
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
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 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
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
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

Ähnliche Java Themen

Neue Themen


Oben