swing: mehrere ActionEvents auseinander halten.
-
hi
man kann einem component ja mehrere action listerner zu ordnen . wie erkennt der listener welches actionevent ausglöst wurde?
oder werden von den action listenenern alle Methoden aufgerufen und mit dem übergebenen Actionevent muss man nun selber feststellen ob das event für die jeweilige methode relevant war?
-
Ich weiss nicht, ob du das meinst, aber folgendes:
JMenuItem mi_one, mi_two; ... public void performingACtion(ActionEvent Ae) { Object what = e.getSource; if (source == mi_one) { //todo } else if (source == mi_two { //to do } }
-
actionlistener kennen ja nur "actionperformed".
sind für eine komponente mehrere actionlistener registriert, werden einfach alle benachrichtig. dazu führt die komponente einfach eine liste, und ruft für jedes element die actionperformed methode auf.
bei listenern mit mehreren methoden (zb mouselistener) wird die entsprechende methode aufgerufen. (aber wieder bei allen registrierten listenern)
hoffe, das hat deine frage geklärt. (weiß nämlich nicht genau, ob das überhaupt deine frage war ;))
-
jep Tendor das war meine Frage. Mann muss sich in der actionperforming Methode welche ja jedem Listener zugeordnet ist, schaun ob die action für den jeweiligen Listener relevant ist.