如何设置FileDialog的最小/最大大小? - SWT - Java

时间:2018-01-10 19:52:20

标签: java swt minimum-size

我喜欢这样DirectoryDialog

private static void openFiles() {
    Display display = new Display();
    Shell shell = new Shell(display);
    DirectoryDialog directoryDialog = new DirectoryDialog(shell, SWT.OPEN | SWT.MULTI);
    directoryDialog.setFilterPath("c:\\");
    Files[] files = new File(directoryDialog.open().listFiles());
    shell.close();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) display.sleep();
    }
    display.dispose();
}

我现在如何设置最小尺寸?

我已经尝试了shell.setMinimumSize(500, 500),但它没有用!

1 个答案:

答案 0 :(得分:1)

您无法设置DirectoryDialog的大小。大小和位置由操作系统确定。

相关:https://www.eclipse.org/forums/index.php/t/142845/

如果您绝对需要强制执行最小尺寸,则需要实施自己的尺寸。对于自定义对话框,我建议您查看JFace Dialog及其子类。

这是一篇关于SWT和JFace对话框的好文章:http://www.vogella.com/tutorials/EclipseDialogs/article.html#jface-dialogs

我还找到了一个自定义目录对话框,它只是使用Shell实现的,所以您自然可以完全控制大小和位置:http://esus.com/creating-an-swt-directorydialog/