2011-05-27 9 views
3

私はEclipse 3.6でJFaceを使用してアプリケーションを開発しています。実際には、TableViewerに実際のウィジェット(チェックボックスとボタン)を用意したいと考えています。私が見つけたものは、現時点ではこれが不可能であることを示唆しているようです。JFace TableViewerセルのウィジェットですか?

私の現在の回避策では、ラップされたテーブルコントロールのMouseListenerを使用します。ここでmouseDownイベントの座標はgetCell()メソッドを使用してセルに変換され、処理されます。次に、コンテンツプロバイダを使用して、それぞれのウィジェットの外観に多少近づくイメージと書式付きのテキストを供給します。

問題は、結果がネイティブではないことです。そこ実際のネイティブウィジェットの服用スクリーンショットを含むいくつかの回避策がありますが、これはいくつかの問題があります:

  • それは捕獲ウィジェットがocassionally見えるようになりハック
  • だ、画面にちらつきのアーティファクトを作成
  • それは、キャプチャした画像を表の色とブレンドするための画像処理のトリックが必要です
  • 異なる内容のボタンが必要です

このような厄介な方法を使わずにTableViewerセルにウィジェットを埋め込む方法はありますか?基本的なSWTテーブルは確かにそれを行うことができますが、TableViewerインターフェイスはこれをサポートしていないようです...

答えて

0

これにセルリストを使用することができます。ウィジェットは編集中にしか表示されないので、あなたが望むものではありませんが、かなり近いと思います。

http://wiki.eclipse.org/JFaceSnippets#Snippet027ComboBoxCellEditorsまたはwikiページの他のCellEditorの例を参照してください。

関連する問題