JFileChooser在打开时以编程方式单击

时间:2015-04-08 14:14:44

标签: java jfilechooser

我有以下代码来打开JFilechooser

chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
chooser.showOpenDialog(null);
String path = chooser.getSelectedFile().getPath();

我想要的是以编程方式关闭此对话框。我看到了打开按钮,但我怎样才能以编程方式“按”它?

1 个答案:

答案 0 :(得分:1)

这将模拟用户选择和打开文件:

JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
new Thread(new Runnable() {
    @Override
    public void run() {
        try {
            Thread.sleep(100);
        } catch (InterruptedException ex) {
            Logger.getLogger(YourApplication.class.getName()).log(Level.SEVERE, null, ex);
        }
        chooser.setSelectedFile(new File("/your/file/path")));
        chooser.approveSelection();
    }
}).start();
chooser.showOpenDialog(null);
String path = chooser.getSelectedFile().getPath();

Thread.sleep(100)很难看,但必须在那里,否则JFileChooserapproveSelection被调用时尚未打开。