我正在使用Jython的Swing来制作GUI。Jython的事件处理似乎特别优雅,刚刚设置好
JButton("Push me", actionPerformed = nameOfFunctionToCall)
然而,在一个类中尝试同样的事情会很困难。天真的尝试
^{pr2}$或者
JButton("Push me", actionPerformed = nameOfMethodToCall(self))
从GUI构造类的方法不起作用,因为要调用的方法的第一个参数应该是self,以便访问类的数据成员;另一方面,不可能通过AWT事件队列将任何参数传递给事件处理程序。唯一的选择似乎是使用lambda(正如在http://www.javalobby.org/articles/jython/中建议的那样),这会导致如下结果:
JButton("Push me", actionPerformed = lambda evt : ClassName.nameOfMethodToCall(self))
它是有效的,但优雅已经消失了。所有这些只是因为被调用的方法需要来自某个地方的self引用。有别的办法吗?在
以下是您引用的文章中的一个修改过的示例:
^{2}$相关问题 更多 >
编程相关推荐