2010-09-25 83 views
1

我有一點問題:我想在我的Table的某些單元中有Buttons。 (在這個例子中孤單特定應用和調試代碼,但你會得到的圖片)Scala:表格單元中的按鈕不會「觸發」動作

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之一:作爲呈現部件我返回Button用下面的代碼看到「我打印,因此我是」打印輸出,並且看到帶有「xx」文本的按鈕。但是當我按下其中一個按鈕時,什麼都沒有發生,我甚至看不到「火!」打印輸出。

當我在Buttons body中定義Action而不是構造函數時,它也不起作用。

作爲進一步背景信息: 我不會阻止表Events或任何東西。我只有在JTable

peer.getColumnModel().addColumnModelListener(behaviourWorker) 
peer.getTableHeader().addMouseListener(behaviourWorker) 

一個聽衆建立和只是暫時阻止我自己的事件,一個在Tables子類:

listenTo(this.selection) 
reactions += { 
    case [email protected](_,_,true) => if(!blockSelectionEvents) publish(PimpedTableSelectionEvent(this)) 
} 

有任何你曾經有同樣問題的努力或有任何想法可能會出錯。經過2個小時的無效調試,我會很感激任何提示。

回答

0

猜我知道了。不知道我必須添加一個TableCellEditor來捕捉事件。還沒有真正的工作,但我確定就是這樣。