0

これが不可能かもしれないことは理解していますが、誰かがこれを達成したか、または回避策があるかどうかを知りたいです.

SWT ボタンがあり、存在するボタンだけで既存の JPanel のコンテンツを上書きしたいと考えています。私の現在の戦略は、SWT ボタンを最初の null フィールドとして使用し、それをメソッドを介して設定することです。これにより、JPanel が SWT ボタンで更新されます。

Button ibutton = null;

以下は、コンストラクター (クラスextends JPanel) から取得したものです。

ibutton.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
 switch (e.type) {
 case SWT.Selection:
 }
}


  });

add(ibutton); //add is the usual swing assignment function
                          //  and thus does not work.

これを達成するための別の手段があれば、あなたが持っているものを聞いて感謝します.

4

1 に答える 1

3

次のようなことをしなければなりません:

Canvas canv = new Canvas();
add(canv);//add to ur parent container
Shell shell = SWT_AWT.new_Shell(display, canv);
shell.add(ibutton);

SWT_AWT ブリッジを初めて使用するように思われるため、次の点に注意してください。

  1. 上記のコードが呼び出されるまでに、親が表示されている必要があります(ピアが作成されている必要があります)。
  2. 並列スレッドは、ディスプレイからイベントを読み取り、ディスパッチする必要があります。
于 2009-11-10T04:11:30.893 に答える