WinFuture-Forum.de: Java: verschwundenes Objekt - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Java: verschwundenes Objekt


#1 Mitglied ist offline   `Jimmy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 80
  • Beigetreten: 18. Oktober 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Leipzig

geschrieben 22. Mai 2011 - 16:20

Hallo Leute,

ich erstelle mir ein paar Buttons über eine for-Schleife:
for(int i=0; i < 81; i++)
			{
				fenster.add(new JButton());
			}

und würde gerne jedem Button einen ActionListener verpassen.
Allerdings kann ich die Objekte nicht ansteuern, ich kenne doch ihren Namen nicht.

Ich habe es versucht, gleich beim erstellen mit einzubinden:
for(int i=0; i < 81; i++)
			{
				fenster.add(new JButton().addActionListener(this));
			}

dann meckert er aber das "add" von "fenster.add" an, dass ich die Übergabe anpassen soll.

Kennt jmd. eine Lösung dafür?

Grüße
Jimmy !!
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 22. Mai 2011 - 16:33

Warum hat man 81 Buttons in einer Maske?! <_<

for(int i=0; i < 81; i++) {
	JButton button = new JButton();
	button.addActionListener(this);
	fenster.add(button);
 }

0

#3 Mitglied ist offline   `Jimmy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 80
  • Beigetreten: 18. Oktober 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Leipzig

geschrieben 22. Mai 2011 - 16:38

Sudoku <_<
9 * 9 Felder ;D
Ich hätte nicht gedacht dass das so realisierbar ist, weil ich mir vorstelle das jedes Objekt vom Namen her eindeutig sein muss?!
Aber es funktioniert wunderbar, danke dir!!!
0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 24. Mai 2011 - 08:16

"`Jimmy" sagte:

Ich hätte nicht gedacht dass das so realisierbar ist, weil ich mir vorstelle das jedes Objekt vom Namen her eindeutig sein muss?!

Ist es doch. Das Objekt button "existiert" im Quellcode lediglich in der for-Schleife. Außerhalb kannst du darauf nicht zugreifen. Somit ist der Variablenname in der for-Schleife eindeutig.

Du kannst natürlich auch 81 Mal hintereinander folgendes schreiben:
JButton button = new JButton();
button = new JButton();
button = new JButton();
...

Jede Instanz ist einzigartig. Allerdings kannst du auf die ersten button nicht mehr zugreifen, weil die Variable auf die letzte Instanz zeigt. Du hast den Zweiger quasi überschrieben.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0