【发布时间】:2017-06-13 00:38:36
【问题描述】:
您好 Stackoverflow 社区,我有一个 java 问题。
我正在制作一个使用 JFileChooser 的程序,JFileChooser 仅设置为目录,并且我有一个 Jtextfield 将文本设置为所选文件夹的目录,但是我必须为在此文本中指定特定文件的用户进行错误纠正场地。我已经为此文本字段设置了 .setEditable(false),因此用户无法在文本字段中键入,用户必须使用与 JFileChooser 关联的按钮来设置目录。然而,用户仍然可以在查找文件时弹出的 JFileChooser GUI 中输入文本,并且当点击打开按钮时,输入的文本将被放置到关联的 JTextField 中。有谁知道一种方法来禁用 JFileChooser 弹出上的文本字段的可编辑性?也许我在想这个错误的方式,但基本上用户只能选择一个目录而不能指定一个文件。
【问题讨论】:
-
看起来您可以在docs.oracle.com/javase/8/docs/api/javax/swing/… 使用 JFileChooser#setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY)。即使这样,您也应该检查 getSelectedFile 返回一个目录并拒绝或接受。
-
准确地说,这就是我所做的,但是用户仍然可以完成文件的路径并按打开,它会将完整的文件路径放在文本字段中,指定文件会导致要中断程序,我必须只允许 JFileChooser 文件夹选择 GUI 中的文件夹路径。任何想法如何禁用 JFileChooser GUI 的可编辑性弹出?
-
感谢您将链接粘贴到 oracle 网站,我能够找到我搞砸的地方。 JFileChooser 设置为接受文件,我必须更改 JFileChooser 以使用 .getCurrentDirectory().getpath() 这样做会覆盖用户在 JFileChooser GUI 中输入文件,如果用户指定文件,然后单击确定,则文件的父目录将改为放置在 JTextField 中。完美。
标签: java