【发布时间】:2011-04-17 04:38:39
【问题描述】:
我有一个小问题:我想在我的Table 的某些单元格中添加Buttons。作为渲染组件,我返回一个带有以下代码的Button:(此示例中有特定于应用程序的调试代码,但您会得到图片)
class LivingTreeButton(lt:LivingTree[_], client:TableBehaviourClient) extends Button(Action("xx") {
println("fire!")
lt.expanded = !lt.expanded
client.refresh
}){
println("I print therefore I am")
}
现在,当我滚动到Table 中的Buttons 之一时,我会看到“我打印,因此我是”打印输出,并且确实看到带有“xx”文本的按钮。但是当我按下其中一个按钮时,什么也没有发生,我什至没有看到“火!”打印输出。
当我在 Buttons 正文而不是构造函数中定义 Action 时,它也不起作用。
作为进一步的背景信息:
我没有阻止Events 或任何东西。我只在JTable 中设置了一个收听者
peer.getColumnModel().addColumnModelListener(behaviourWorker)
peer.getTableHeader().addMouseListener(behaviourWorker)
并且仅在Tables 子类中暂时阻止我自己的事件之一:
listenTo(this.selection)
reactions += {
case e@TableRowsSelected(_,_,true) => if(!blockSelectionEvents) publish(PimpedTableSelectionEvent(this))
}
你们有没有遇到过同样的问题,或者知道可能出了什么问题。经过 2 小时的无结果调试后,我将感谢任何提示。
【问题讨论】:
标签: scala scala-swing