我有这样的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)
,但它没有用!
不能设置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/