0

テーブルのボタンに画像を追加したいと思います。テーブルはメイン GUI に表示されます。を使用しTableViewerてテーブルを表示しています。

private void createTableViewer(Composite parent) {

  viewer = new AplotDataTableViewer(parent, SWT.BORDER|SWT.V_SCROLL|SWT.FULL_SELECTION);
  viewer.setInput(AplotDataModel.getInstance().getArrayData());

}

AplotDataTableViewerは別クラスです。AplotDataTableViewerコンポジットとスタイルを取得するためのコンストラクター。

AplotDataTableViewerそのため、クラスに画像を追加しようとすると、Display変数でエラーが発生します。Image には Display が必要だからだと思います。

Image image = new Image(display, String);  

表示に何が必要かわかりませんか?メイン GUI からの表示が必要な場合、どうすれば取得できますか?

4

2 に答える 2

1

あなたはただ使うことができます:

Image image = new Image(Display.getDefault(), "path/to/image.png");

またはDisplay.getCurrent()代わりに使用します。

詳細については、SWT に関する優れたチュートリアルを次に示しImageます。

SWT 画像を見てみる

于 2012-09-19T17:40:47.413 に答える
0

どのようなエラーが発生しているのかわかりません。非UIスレッドからUIオブジェクトにアクセスしているため、「無効なスレッドアクセス」である可能性があると推測しています。

Bazが提供するリンクを参照して、画像を作成できます。プラグインに Activator がある場合は、 public static ImageDescriptor getImageDescriptor(String path)ここでパスが ex: /icons/image.png で始まることを確認してください。ユーザーImageDescriptor.createImage(true)は、探している実際の画像を提供します。imagedescriptor から新しいイメージを作成する前に、キャッシュ内のイメージを追跡します。

ボタンに画像を設定し、ドキュメントを確認してください。画像とテキストの両方の設定をサポートしないプラットフォームはほとんどありません。

于 2012-09-19T18:25:59.323 に答える