1

狭すぎる表のセルにカーソルを合わせると、何らかのポップアップが表示されます。OwnerDrawLabelProvider.paint()(切り捨てられた) テーブル セルがペイントされているかポップアップであるかを検出するにはどうすればよいですか?

4

1 に答える 1

5

残念ながら、この情報を から直接取得する方法はないようEventです。ただし、次の方法を実装しました。

  • Windows では、ポップアップはセルよりも高くなります (Windows 7 の aero テーマでテスト済み)。これは、 の場合event.height != event.gc.getClipping().height、ホバーが描画されることを意味します。

  • OS X では、ポップアップはセルと同じサイズですが、ホバーをペイントするときに設定されるTableフィールドがあります。リフレクションを使用して読み取るだけです。drawExpansiontrue

  • Ubuntu の SWT では、ホバーもまったく表示されません...

于 2013-06-07T13:01:37.743 に答える