3

JFileChoosers を使用するいくつかのテスト ケースで問題が発生しています。JUnit テストの実行時に (ESC を 7 回押す代わりに) プログラムでファイル選択ウィンドウを取り除く方法を探しています。

テストケースに以下を含めようとしました:

Robot robot = new Robot();
robot.delay(1000);
robot.keyPress(KeyEvent.VK_ESCAPE);

これはうまくいかないようです。提案はありますか?

前もって感謝します。

4

1 に答える 1

2

推測ですが、 を起動しRobotているのと同じスレッドで を実行しているようですJFileChooser。メモリが機能する場合、多くの JFileChooser メソッドは、ユーザーがファイルを選択するまで現在のスレッドをブロックします。

Robotまだ起動していない場合は、別のスレッドで起動してみてください。

編集:

例えば:

// Start Robot in a new thread.
new Thread(new Runnable() {
    @Override
    public void run() {
        Robot robot = new Robot();
        robot.delay(1000);
        robot.keyPress(KeyEvent.VK_ESCAPE);
    }
}).start();

// Launch JFileChooser.
jFileChooser.getSelectedFile();
于 2012-05-04T09:14:49.420 に答える