我刚刚开始越过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语法有什么非常好的资源吗?我找到了一些东西,但绝大多数似乎只是人口稀少,然后被抛弃。 (在文件方面)
答案 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的文档很棒。 (我知道,现在是甲骨文......)
如果有什么不清楚,请告诉我。