Java Mehrere Objekte beliebig oft erstellen

Ocram127

Cadet 4th Year
Registriert
Apr. 2020
Beiträge
123
Hi,
ich habe ein Programm mit einem JButton. Immer wenn der gedrückt wird, soll ein neues Objekt der Klasse JLabel erstellt werden. Dabei soll der Button beliebig oft gedrückt werden können, es soll jedes mal ein neues Objekt erstellt werden. Dieses Objekt soll auch solange mit den gleichen Werten bestehen, bis ich dieses manuell lösche. Sonst hab ich Objekte immer mit
Code:
JLabel l1 = new JLabel();
erstellt, aber wenn ich so mehrere Objekte erstellen will (zb. mit einer for-Schleife), bekomme ich ja eine Fehlermeldung weil dann mehrere Objekte mit dem gleichen namen vorhanden sind.

Wisst ihr wie man mehrere Objekte erstellen kann?
 
Theoretisch solltest du eine Liste von JLabeln erstellen können. Da kannst du dann auch mit einer for-Schleife drüber iterieren.
 
Kannst du vlt mal ein Beispiel posten? Weil ich komm nicht wirklich drauf, wie man das mit einer Liste lösen kann...
 
Du erstellst eine Liste, zB ArrayList mit dem Typ JLabel. Also ArrayList<JLabel>

und jedesmal wenn der Button gedrückt wird, fügst du ein neues JLabel Objekt in die Liste ein
 
  • Gefällt mir
Reaktionen: GroMag
Genau das will ich ja machen;)
aber ich verstehe nicht was ich machen muss, dass die Objekte automatisch neue Namen bekommen. Sowas wie l1++ geht ja schlecht...
 
Zuletzt bearbeitet:
Ich weiß jetzt nicht, wie ein JLabel aufgebaut ist. Aber eventuell hat es ein Namensattribut, welches du bei der Erstellung mitgeben kannst. Musst mal die Doku von JLabel checken ob es da nen passenden Konstruktor gibt. Die Liste selbst und das hinzufügen eines Labels müsste so aussehen.
Java:
ArrayList<JLabel> labelListe = new ArrayList<JLabel>()
labelListe.add(new JLabel(name))
Nagel mich aber nicht drauf fest, Java ist ein paar Tage her^^
 
  • Gefällt mir
Reaktionen: floTTes und Ocram127
Ok danke ich probiers mal, ansonnsten melde ich mich nochmal
Ergänzung ()

Ich habs geschafft! :D

hab die ArrayList garnicht gebraucht aber trotzdem danke, weil du hast mich durch die zweite Codezeile draufgebracht, dass ich die Objekte einfach mit
Code:
panel.add(new JLabel("text"));
panel.validate();
hinzufügen konnte.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: floTTes und kamanu
Zurück
Oben