FileName未显示在FileDialog中

时间:2019-04-29 04:29:16

标签: java swt

我正在使用FileDialog类要求用户选择文件。 我遇到的问题是,当我为用户设置文件名时,它没有显示在对话框中。 这是肉桂的局限性吗?如果我在Windows上运行此代码,它将起作用:

    final FileDialog dialog = new FileDialog(activeShell, SWT.OPEN);
    dialog.setText("Choose a file");
    dialog.setFilterPath("/home/frederic/Videos");
    dialog.open()

enter image description here

我在以下环境中: Debian 9

肉桂3.2.7

openjdk版本“ 1.8.0_212”

OpenJDK运行时环境(内部版本1.8.0_212-8u212-b01-1〜deb9u1-b01)

OpenJDK 64位服务器VM(内部版本25.212-b01,混合模式)

3 个答案:

答案 0 :(得分:1)

setFileName使用文件名参数路径。所以

dialog.setFileName("doc.txt");

您使用dialog.setFilterPath设置初始目录路径。

dialog.setFilterPath("/home/frederic/Documents");

答案 1 :(得分:0)

事实证明,我的预感是正确的,这个问题与FileDialog类无关,而与我正在使用的桌面环境(肉桂色)无关。

为了在FileDialog中显示路径,组合键Ctr + L将使它出现(Source

答案 2 :(得分:0)

在Mac上,我遇到了类似的问题。我不得不将FileDialog更改为使用SWT.SAVE而不是SWT.OPEN,并且它可以正常工作。根据您的用例,这可能是一个合理的解决方案,也可能不是一个合理的解决方案