У меня есть небольшая проблема: я хочу иметь Buttons
в некоторых клетках моего Table
. В качестве компонента рендеринга я возвращаю 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")
}
Теперь, когда я прокручиваю до одного из Buttons
в Table
, я вижу распечатки «Я печатаю, поэтому я есть» и вижу кнопки с текстом «xx». Но когда я нажимаю одну из кнопок, ничего не происходит, и я даже не вижу "огонь!" распечаток.
Это также не работает, когда я определяю Action
в теле Buttons
вместо конструктора.
В качестве дополнительной справочной информации:
Я не блокирую таблицы 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 часов безрезультатной отладки я был бы благодарен за ЛЮБОЙ намек.