Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SWT文件对话框仅在Swing中选择目录_Java_Swing_Swt - Fatal编程技术网

Java SWT文件对话框仅在Swing中选择目录

Java SWT文件对话框仅在Swing中选择目录,java,swing,swt,Java,Swing,Swt,我有一个swing应用程序,我想使用Windows7/Vista样式的文件对话框,并找到了一个合理的解决方案,将SWT与swing结合使用: 但是,现在我试图让这个对话框只接受目录(选择文件夹按钮而不是打开按钮) 我不想使用典型的DirectoryDialog: 我想使用左侧有收藏夹、顶部有地址栏的对话框,并能够选择文件夹: 任何人都知道如何做到这一点吗?非常感谢您的回复。Baz已经说过:使用SWT无法获得此对话框。 要回答有关其他框架的问题,请执行以下操作: 我相信有很多,例如,你可以使

我有一个swing应用程序,我想使用Windows7/Vista样式的文件对话框,并找到了一个合理的解决方案,将SWT与swing结合使用:

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

我不想使用典型的DirectoryDialog:



我想使用左侧有收藏夹、顶部有地址栏的对话框,并能够选择文件夹:


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

非常感谢您的回复。Baz已经说过:使用SWT无法获得此对话框。 要回答有关其他框架的问题,请执行以下操作: 我相信有很多,例如,你可以使用。您无法获得所需的对话框,但至少获得了一个增强版(FolderChooser),但没有多少优势:

  • 便利按钮(桌面、我的文档等)
  • 删除/创建新目录
  • 地址栏
最棒的是:你免费得到它,因为它在“公共层”。 您可以通过启动演示WebStart项目来尝试FolderChooser。

这是一种黑客行为:

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();
    }
}

我试过了,我想,效果很好

答案很简单:你不能。这就是目录对话框的作用。目前无法通过SWT获得“Windows7风格”对话框来选择目录,对不起。Java中的其他框架如何?只是Java不能使用那种只选择文件夹的对话框吗?看起来很奇怪。不知道,我不使用其他框架。我有一种解决方案: