我喜欢这样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)
,但它没有用!
答案 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/