0

SWTBot テストの実行中にクリップボードにアクセスするには?

次のコードは、無効なスレッド アクセスをスローします。

Clipboard clipBoard = new Clipboard(SWTUtils.display());
Object object = clipBoard.getContents(TextTransfer.getInstance());

上記のコードは、UI スレッドで実行すると機能します。これが唯一の方法ですか?

SwtBot スレッドでクリップボードにアクセスするには?

4

1 に答える 1

1

SWTBot の他の UI 要素へのアクセスと同様に、クリップボードへのアクセスを UI スレッドに委譲する必要があります。

ClipboardBotまだ SWTBotに がない場合は、次のように自分で行うことができます。

final Object[] object = { null }
display.syncExec( new Runnable() {
  public void run() {
    Clipboard clipBoard = new Clipboard( display );
    object[ 0 ] = clipBoard.getContents( TextTransfer.getInstance() );
    clipboard.dispose();
  }
} );

これを達成するために SWTBot インフラストラクチャの一部を使用したい場合は、 SWTBot を拡張する方法に関する投稿もあります。

于 2015-02-03T12:29:33.973 に答える