0

我有一个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),但是没有用!

4

1 回答 1

1

您不能设置 a 的大小DirectoryDialog。大小和位置由操作系统决定。

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


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

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


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

于 2018-01-10T22:59:16.297 回答