【发布时间】:2012-12-02 10:02:08
【问题描述】:
我想在用户主文件夹中打开一个 FileDialog 窗口(即 /home/user 或 /Users/unsername)
我使用 System.getProperty 读取用户主文件夹:
String homefolder = System.getProperty(user.home);
并且该变量包含正确的主文件夹。但是当我在 FileDialog 中设置过滤器路径时,它只打开(在 linux 中)不进入用户主目录的 /home 级别。
这是源代码:
FileDialog dialog = new FileDialog(shell);
dialog.setText("Choose a certificate");
String platform = SWT.getPlatform();
String homefolder = System.getProperty("user.home");
dialog.setFilterPath(homefolder);
有什么想法吗? 这是一个屏幕截图:
【问题讨论】:
-
您的代码确实打开了我系统上的主文件夹。您确认
homefolder是正确的路径了吗? -
是的。 homfolder 的内容是正确的。但是当我打开 FileDialog 时,它位于 /home 并选择了用户文件夹。
-
你使用的是哪个窗口管理器?
-
我使用 Kde 作为窗口管理器。但是 swt 使用的库似乎没有使用任何 kde 组件。
-
有一个错误报告here,指出“已修复”。您使用的是哪个版本的 SWT?
标签: java linux swt filedialog