JTables和Jython活动

时间:2011-06-28 14:02:32

标签: python event-handling jtable jython actionlistener

我刚刚开始越过Jython中的摇摆和直接在Java中摇摆...我想知道是否有人可以帮助我在Jython中为JTable添加动作侦听器。

我知道按钮,你可以这样做:

button = Jbutton( " Press me! ", actionPerformed = my.function )

我知道有一些不同的事件与JTable相关联,例如当选择某些内容时,当焦点在表格中更改时,表格本身成为焦点...

我的问题是我不知道如何将这些实现到创建表的语法中。 我使用以下内容创建表:

data = DefaultTableModel( items, columnNames )
mytable = JTable( data )

我的基本假设是我需要像...那样的东西。

mytable = JTable ( data, isFocused = my.other.function )

但我不知道确切的语法,并且JTable的javadoc足够复杂(与其实现的百万其他接口/类一样)更不用说试图在jython上下文中解密它们了。

奖励积分:

除了这个具体的例子之外...... Jython中的Swing语法有什么非常好的资源吗?我找到了一些东西,但绝大多数似乎只是人口稀少,然后被抛弃。 (在文件方面)

1 个答案:

答案 0 :(得分:2)

可以找到所有可能操作的列表on this page of the Java Swing tutorial。该页面列出了第三列中的所有侦听器方法。并非所有这些都适用于每个Swing对象,但如果它适用,您可以像JButton示例一样附加一个监听器。

你似乎正在寻找一种方法来注意表格所获得的焦点。这是focusGained事件,在FocusListener documentation中描述,它刚好在我提到的第一页之外。

以下是您修改后的示例:

data = DefaultTableModel(items, columnNames)
mytable = JTable(data, focusGained=my.other.function)

我恐怕找不到任何关于Jython Swing工作的好描述。你最好的选择可能是改编Swing tutorial的例子。我总是发现Sun的文档很棒。 (我知道,现在是甲骨文......)

如果有什么不清楚,请告诉我。