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 回答