Hey Leute,
ich habe folgende Klassen "User", "Playlist", "Klasse1", "Klasse2", "Klasse3".
Klasse1, Klasse2 und Klasse3 bekommen einen (den selben) User im Konstruktor übergeben.
Ein User besitzt eine List (ArrayList), welche Instanzen von Playlist beinhaltet.
Eine Playlist besitzt einen JButton und einen Titel.
Ich wollte nun in Klasse1 in einer JScrollPane die Playlists darstellen und habe dann in einer for-Schleife die bis zur Größe der Playlist des Users geht, alle Buttons geaddet.
Das hat zunächst funktioniert, aber wenn ich nun in Klasse2 eine neue Instanz von Klasse3 aufrufe, in der auch in einer JScrollPane die Buttons der Playlists dargestellt werden, dann werden in Klasse1 die Buttons der Playlists nicht angezeigt (größe, layout, farbe egal).
Wenn ich den aufruf von Klasse3 in Klasse2 auskommentiere, funktioniert Klasse1 wieder.
Ich habe dann in Klasse3 (benutzt fast die selbe for-Schleife wie oben) alles unverändert gelassen und in Klasse1 neue Buttons erstellt mit dem Titel der Playlist
So zeigt es in Klasse1 wieder Buttons in der ScrollPane an, jedoch sind dann die Buttons der ScrollPane in Klasse3 erst sichtbar, wenn man mit der Maus über sie fährt.
Habe schon einiges versucht, wie zum Beispiel das Layout in Klasse1 ändern oder die Farbe der Buttons. Habe auch schon neue JButtons erstellt und ihnen immer den jeweiligen Button der Playlist zugewießen.
Die getter-Methoden der Klassen funktionieren alle und in Klasse1 werden auch alle Buttons zum Panel (welches in der ScrollPane liegt) hinzugefügt, nur nicht angezeigt.
(Habe mir auf der Konsole die Anzahl der Komponenten des Panels nach der Schleife ausgeben lassen)
Woran kann das liegen?
ich habe folgende Klassen "User", "Playlist", "Klasse1", "Klasse2", "Klasse3".
Klasse1, Klasse2 und Klasse3 bekommen einen (den selben) User im Konstruktor übergeben.
Ein User besitzt eine List (ArrayList), welche Instanzen von Playlist beinhaltet.
Eine Playlist besitzt einen JButton und einen Titel.
Ich wollte nun in Klasse1 in einer JScrollPane die Playlists darstellen und habe dann in einer for-Schleife die bis zur Größe der Playlist des Users geht, alle Buttons geaddet.
Java:
for (int i = 0; i < user.getPlaylists().size(); i++) {
pane.add(user.getPlaylists().get(i).getBtn());
}
Das hat zunächst funktioniert, aber wenn ich nun in Klasse2 eine neue Instanz von Klasse3 aufrufe, in der auch in einer JScrollPane die Buttons der Playlists dargestellt werden, dann werden in Klasse1 die Buttons der Playlists nicht angezeigt (größe, layout, farbe egal).
Wenn ich den aufruf von Klasse3 in Klasse2 auskommentiere, funktioniert Klasse1 wieder.
Ich habe dann in Klasse3 (benutzt fast die selbe for-Schleife wie oben) alles unverändert gelassen und in Klasse1 neue Buttons erstellt mit dem Titel der Playlist
Java:
pane.add(new JButton(user.getPlaylists().get(i).getTitle()));
So zeigt es in Klasse1 wieder Buttons in der ScrollPane an, jedoch sind dann die Buttons der ScrollPane in Klasse3 erst sichtbar, wenn man mit der Maus über sie fährt.
Habe schon einiges versucht, wie zum Beispiel das Layout in Klasse1 ändern oder die Farbe der Buttons. Habe auch schon neue JButtons erstellt und ihnen immer den jeweiligen Button der Playlist zugewießen.
Die getter-Methoden der Klassen funktionieren alle und in Klasse1 werden auch alle Buttons zum Panel (welches in der ScrollPane liegt) hinzugefügt, nur nicht angezeigt.
(Habe mir auf der Konsole die Anzahl der Komponenten des Panels nach der Schleife ausgeben lassen)
Woran kann das liegen?