1

私は少し問題を抱えています: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")
}

の 1 つにスクロールするとButtonsTable「私は印刷するため、私は」という印刷物が表示され、「xx」テキストのボタンが表示されます。しかし、ボタンの1つを押しても何も起こらず、「火」も見えません。プリントアウト。

Actionコンストラクターの代わりにButtons本体でを定義すると、どちらも機能しません。

さらなる背景情報として:私はテーブルEventsなどをブロックしていません。私はに設定されたリスナーだけを持っていますJTable

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

Tablesサブクラス内の自分のイベントの 1 つだけを一時的にブロックします。

listenTo(this.selection)
reactions += {
  case e@TableRowsSelected(_,_,true) => if(!blockSelectionEvents) publish(PimpedTableSelectionEvent(this))
}

あなたの誰かが同じ問題に苦しんだことがありますか、または何がうまくいかないのか考えています. 結果のないデバッグを2時間行った後、ヒントがあればありがたいです。

4

1 に答える 1

0

私はそれを手に入れたと思います。TableCellEditorイベントをキャッチするためにを追加する必要があることを知りませんでした。まだ実際には機能していませんが、それだけだと確信しています。

于 2010-09-26T20:18:01.440 に答える