奇怪的JFileChooser情况下,右键菜单文本为空白

时间:2014-06-13 21:40:26

标签: java swing user-interface jfilechooser

我在Redhat 6上使用了一个简单的JFileChooser代码:

JFileChooser testFileChooser = new JFileChooser("Test");
testFileChooser.showOpenDialog(this);

JFileChooser按预期工作。在文件选择区域,如果我右键单击,我会得到一个包含三行的对话框,一行带箭头。没有描述行的内容的文本。第一行在列表视图和详细视图之间切换。第二行似乎什么都不做,第三行创建一个新文件夹。当我搜索这个问题时,似乎无法访问或检查JFileChooser的右键单击弹出对话框。我不明白它是如何在这样的第一个地方打破。我需要有关如何修复或解决此问题的想法。

1 个答案:

答案 0 :(得分:1)

我找到了修复/解决方法!

JFileChooser在内部使用FilePane,它使用JFileChooser的getComponentPopupMenu作为其上下文菜单。但是,因为它返回null,所以它会创建自己的。

标签上的文字来自UIManager,带有UIManager.getString调用。出于某种原因,UIManager返回空字符串。

因此,我们只需手动设置UIManager中的字符串。

如果您在创建文件选择器之前进行了这些调用,则会修复它。

UIManager.put("FileChooser.detailsViewActionLabelText", "Details");
UIManager.put("FileChooser.listViewActionLabelText", "List");
UIManager.put("FileChooser.viewMenuLabelText", "View");
UIManager.put("FileChooser.refreshActionLabelText", "Refresh"));
UIManager.put("FileChooser.newFolderActionLabelText", "New Folder");

我意识到这已经晚了4年,但我希望这会有所帮助。