【问题标题】:SWT Filedialog Open into home folderSWT Filedialog 打开到主文件夹
【发布时间】: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


【解决方案1】:

您的代码与 SWT 3.6.1 完美配合。有一个错误报告 here 指出这是 SWT 版本

因此,解决方案是安装一个从不的版本(最好是当前版本)。

由于您提到您使用 Maven 存储库,因此这里有一个用于 SWT 3.8 的存储库:

maven project: SWT 3.5 dependency: any official public repo?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多