我正在使用FileDialog类要求用户选择文件。 我遇到的问题是,当我为用户设置文件名时,它没有显示在对话框中。 这是肉桂的局限性吗?如果我在Windows上运行此代码,它将起作用:
final FileDialog dialog = new FileDialog(activeShell, SWT.OPEN);
dialog.setText("Choose a file");
dialog.setFilterPath("/home/frederic/Videos");
dialog.open()
我在以下环境中: 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,混合模式)
答案 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,并且它可以正常工作。根据您的用例,这可能是一个合理的解决方案,也可能不是一个合理的解决方案