Actionarray Index ermitteln

Swingman

Grünschnabel
Hallo,
kennt einer von euch, eine Methode oder eine Möglichkeit um den jeweiligen Index eines Actionarrays zu bekommen. Es geht darum, dass ich mehrere Buttons auf einem Dialogfenster anzeigen möchte. Dabei gehe ich so vor, dass ich zuerst ein Actionarray erzeuge danach die Buttons in diesem Actionarray übergebe. Die Buttons werden durch den jeweiligen Index im Actionarray identifiziert. D.h. wenn z.B. ein Buttonklick erfolgt muss der jeweilige Index ermittelt werden um darauf entsprechend zu reagieren. Ich habe es zwar mit for-Schleifen usw. geschafft, aber das ist nicht sehr effizient und professionell. Deshalb suche ich gerade eine bessere Möglichkeit um dies zu realisieren.


Danke für eure Hilfe
 
Tach,
einfacher geht es m.E. so, indem Du jedem Button einen eigenen anonymen ActionListener zuweist.

Code:
              // irgendwo im Konstruktor oder einer init-Methode:
		jbTest1.addActionListener(new ActionListener()
				{
					public void actionPerformed(ActionEvent event)
					{
						button1_actionPerformed();
					}
				});
		jbTest2.addActionListener(new ActionListener()
				{
					public void actionPerformed(ActionEvent event)
					{
						button2_actionPerformed();
					}
				});

// in der Klasse selbst:
private void button1_actionPerformed()
{
 // mach was draus
}
private void button2_actionPerformed()
{
 // mach was draus
}

Diese Vorgehensweise hat sich oft bewährt und vereinfacht die Identifizierung, welcher Button geklickt wurde.
Selbstverständlich kann man die Implementierung der Funktionalität auch direkt in das actionPerformed(...) legen. Aber bei umfangreichem Code würde ich das in eine separate Methode so wie oben gezeigt auslagern.
 

Neue Beiträge

Zurück