如何使JFileChooser中的“查找范围”字段在Windows上可编辑?

时间:2018-11-14 15:38:36

标签: java windows swing

我有一个简单的jFileChooser用于打开文件。这是代码:

    JFileChooser diagOpen = new JFileChooser(myFolder);

    diagOpen.setFileSelectionMode(JFileChooser.FILES_ONLY);

    if (diagOpen.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
        return diagOpen.getSelectedFile().getPath();
    else
        return null;

这是结果:

enter image description here

我的系统是西班牙文,并且我正在使用Windows 7和Java8。我需要使“ Buscar en”(“查找”)字段可编辑,以便用户可以编写所需的路径并进行重定向。按下Enter键时(在这里,这是默认的Windows Open对话框的工作方式)。 我仔细研究了jFileChooser的属性和选项,并阅读了一些教程,但找不到如何做。

我没有运气就尝试了jFileChooser.FILES_AND_DIRECTORIES选项。

1 个答案:

答案 0 :(得分:0)

  

我仔细研究了jFileChooser的属性和选项,

没有可用于执行此操作的属性。

  

我需要使“ Buscar en”(“查找”)字段可编辑,

您可以使用Swing Utils类来访问文件选择器的组合框并使其可编辑。

代码将简单地是:

JFileChooser jFileChooser = new JFileChooser();
JComboBox jComboBox = SwingUtils.getDescendantsOfType(JComboBox.class, jFileChooser).get(0);
jComboBox.setEditable(true);
jFileChooser.showOpenDialog(null);

但是,这仍然不能解决问题,因为无论用户类型是什么,都将在组合框中将其另存为String,并且文件选择器期望使用File对象,因此我得到了{ {1}},当我尝试。

但这可以使您更进一步地解决问题。