Jython question concerning actionPerformed
ykingma at accessforall.nl
Mon Feb 4 14:34:54 EST 2002
> I have the following code in Jython running on JDK 1.4, which looks
> like it should work, but isn't:
> def actionPerformed(self,event):
> if event.getActionCommand() == "Exit":
> elif event.getActionCommand() == "comboBoxChanged":
> print event
> Then later on I have:
> self.catCombo = javax.swing.JComboBox(actionPerformed=self.actionPerformed)
Have a look at http://www.jython.org/docs/properties.html:
you can pass an ActionListener object, or a function with one argument.
You might try one of these: (untested)
self.catCombo = javax.swing.JComboBox(self)
# This assumes that actionPerformed method is available
# and that the current class implements ActionListener.
self.catCombo = javax.swing.JComboBox(actionPerformed = (lamda event, self=self:
# No need to inherit from ActionListener here.
I prefer to use the last form since it allows to choose a method from the current
class to be used as action listener.
You might call eg. self.exit(event) from the lambda.
> Does anyone have any ideas on what to try next?
More information about the Python-list