- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 Java 程序可以浏览本地文件系统的路径,为此我们使用了 JFileChooser。如果文件夹名称是简单的英文,则在 Windows、Mac OS X 和 Linux 上都可以正常工作。但是,如果我创建名为特殊字符的文件夹,如 - ábc Eóz,则它仅在 Windows 和 Linux 上显示该特殊字符名称,但在 OS X 上我看不到那些特殊字 rune 件夹。它从文件夹列表中忽略它们。
我的程序是基于 java 7 update 21 构建的。Mac OS X 版本 - 10.8.2
我该如何解决这个问题?
谢谢
更新:我们正在使用 JavaFX 打包为 Mac 创建一个应用程序。当我们直接运行 app.jar 时,它会显示包含特殊字符的路径。但是,如果我们尝试使用 app 启动应用程序,那么它会跳过那个特殊的 char 文件夹。
最佳答案
我刚刚尝试了一个示例:
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.awt.*;
public class Trial {
public static void main(String... args) {
JFrame frame = new JFrame("FrameDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel();
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(frame);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
}
}
在 OS X 10.9.1
上运行 JDK 1.7.0_51
。我创建了以下文件夹层次结构:~/Documents/Joyeux Naufragés/ábc Eóz
: .
为了解决您描述的问题,我还安装了您指出的 JDK JDK_1.7.0_25 并且我设法重现了相同的问题,这是运行 u25 的同一窗口的快照
如您所见,包含特殊字符的文件夹不会显示。所以我也检查了JDK 1.7.0_40 和惊喜 - 它有效。之后我查看了 bugs已在给定版本中修复,我发现此版本中修复了几个与 mac os x 相关的错误。其中一对 (7024118、7032018、7032436、7161437) 涉及 JFileChooser 中的问题。还有其他与mac相关的问题(总共45个),其中一个涉及FileDialog。不幸的是错误描述的链接不起作用,所以我不能发布关于这个主题的更多信息,但你的问题的解决方案肯定是更新到至少版本 1.7.0_40 即使我认为最好的是更新到最新 (1.7.0_51)。
祝你工作顺利。我希望这可以帮助你。
关于java - JFileChooser 忽略 OS X 上的特殊字 rune 件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17612643/
我正在对 JFileChooser UI 进行一些定制。我正在寻找 JFilechooser 的渐变背景。我所能做的只是一个自定义的 JFilechooser,但我不确定如何将 gardientbac
我想将 JComboBox 添加到 JFileChooser 中。 我尝试扩展 JFileChooser 并手动添加组合框。我实际上设法做到了这一点,但是从 JFileChooser 对话框中删除了文
我试图在文件选择器对话框中打开一个文件,但是,当我打开一个文件或只是关闭对话框时。对话框再次出现,我必须关闭它两次。这是我的代码,不知道有什么问题 private void jMenuItem1Act
如何强制我的 JFileChooser 具有垂直滚动的单列而不是水平滚动的多列? 最佳答案 如果我理解您的要求,您也许可以使用 JList#setLayoutOrientation(JList.VER
所以我得到了这段非常基本的代码,它使用文件名过滤器初始化 JFileChooser。目前您应该只能看到 .txt 文件,稍后我想使用自定义文件名。 JFileChooser dialog = new
我想在我的程序中使用 JFileChooser 来选择目录并处理它。但是,无论我为文件选择器使用什么 FileFilter,选择目录时 Open 按钮都是锁定的。下面是我的 FileFilter 的代
我创建了一个文件,然后需要将其另存为 .docx 扩展名,但我的代码将其另存为 .txt,如何更改扩展名? JFileChooser saveFile = new JFileChooser()
我使用 JFileChooser 让用户保存文件。但我不希望用户选择一个名称来保存文件。不得启用名称文本字段。 我阅读了文档,但没有找到这样的方法或属性。 最佳答案 评论中的Squiddie给你推荐了
我想更改“查看菜单”菜单下的“列表”按钮文本,但我找不到方法。这是文件选择器窗口的图片。 JFileChooser dialog window 我尝试了这些,但没有成功: UIManager.put(
我有以下 Java 8 Swing 代码: JButton button = new JButton("Browse"); button.addActionListener(new ActionLis
继我之前的两篇文章之后here另一个one here ,以下代码打开常规文件浏览器而不是扩展的文件浏览器: public class GuiHandler extends javax.swing.JF
我开发了一个程序,用于计算文件中的行数,如下所示 Scanner in=new Scanner(System.in); System.out.println("Enter the Drive
我的程序允许您保存已制作的图像。我只需要将其另存为 png 即可。 我目前有: ... File file = fc.getSelectedFile(); try{ ImageIO.write(res
我想自定义我的 JFileChooser,这样我不想在底部说“文件夹名称”,而是将其设置为“图片名称”,并且在文本字段中我不希望它根据我所在的位置进行更改我点击,我希望它一直保持空白。无论如何我可以做
在我的 java 应用程序中,有一个浏览按钮。单击浏览按钮时,弹出文件选择器以选择文件。当我通过单击右上角的十字标记而不选择文件来关闭文件选择器时,它会给出一个异常,提示“线程“AWT-EventQu
阅读 documentation 后我没有看到使用 showDialog() 时使对话框模式化的好方法。 . 是否有一种好方法可以使 JFileChooser 实例成为文档模式而不是应用程序模式? 最
我正在使用 JFileChooser,我想让它在单击 fileItem1 时显示文件选择对话框。这是我的 SwingMenu 类。 问题:我在 showFileChooser 方法中遗漏/做错了什么?
我一直在尝试使用 JFileChooser,但遇到程序无法停止运行的问题,这是我的代码: import java.io.File; import javax.swing.JFileChooser; i
如何在屏幕中央显示 JFile-Chooser。使用 ToolKit 的常规方法不起作用。 最佳答案 查看 Javadoc 中的方法 JFileChooser#showDialog(Component
我对 Swing 和 AWT 还很陌生。虽然我有Java开发经验。我正在尝试使用 JFileChooser 读取文件并获取主方法中的内容。所有 Swing 和 AWT 的大师请帮助我确定我缺少什么。
我是一名优秀的程序员,十分优秀!