SWT FileDialog仅在Swing中选择目录

时间:2013-07-19 17:25:34

标签: java swing swt

我有一个swing应用程序,我想使用Windows7 / Vista风格的FileDialogs,并找到了一个合理的解决方案,使用SWT与swing结合: Does Swing support Windows 7-style file choosers?

但是,现在我试图让这个对话框只接受目录(“选择文件夹”按钮而不是“打开”按钮)。

想要使用典型的DirectoryDialog:

enter image description here


我想使用左侧收藏夹的Dialog,顶部的地址栏以及选择文件夹的功能:

enter image description here

任何人都知道如何做到这一点?

非常感谢回复。

2 个答案:

答案 0 :(得分:0)

Baz已经说过:使用SWT无法获得此对话框。 要回答有关其他框架的问题: 我相信有很多,例如你可以使用Jide。你没有得到你想要的对话框,但至少你得到的增强版本(FolderChooser)没什么优势:

  • 便利按钮(桌面,我的文档,......)
  • 删除/创建新目录
  • 地址栏

最重要的是:你可以免费获得它,因为它在“公共层”中。 您可以通过启动Demo-WebStart-Project来尝试FolderChooser。

答案 1 :(得分:0)

这是一种黑客行为:

import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;

public class Demo{

    public static void main(String [] args) {
        Display display = new Display();
        Shell shell = new Shell(display);  
        FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
        dialog.setFilterPath("c:\\");

        //The extension doen't excist!
        dialog.setFilterExtensions(new String[] {"xyz"});
        //You can also use " ";

        dialog.open();
        shell.close();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }
}

我尝试了它,我认为,它运作良好!