【发布时间】:2014-09-17 17:32:34
【问题描述】:
我在 Jython 的循环中创建了几个摇摆 JButtons 按钮。按下时,每个按钮都应调用相同的函数,但具有不同的参数。我在传递 self 和 event 之外的任何参数时遇到问题。
这行得通:
for x in range(0,3):
name = JButton(str(x))
name.actionPerformed = self.foo
def foo(self, event):
print "I work."
事件以某种方式神奇地传递给了方法。
这不是:
for x in range(0,3):
name = JButton(str(x))
name.actionPerformed = self.foo(x)
def foo(self, event, number):
print "I don't work."
print str(number)
我看到的问题是,当我添加任何参数时,我不是,我不再传递一个事件,我最终得到一个错误,告诉我“foo() 正好需要 3 个参数(给定 2 个)” .我明白了,但是如何从按钮中提取事件?
【问题讨论】: