JFileChooser 中文显示

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:48:59
我用文件资源管理器组件JFileChooser,可是显示的文件无法显示中文名,只有英文目录和文件显示正常,中文都变成一个个方框了。也试过用setFont(),但是无效,可见不是字体问题。网上也找不到类似的问题和解答。

请各路英雄帮忙解决下啊。谢谢啦。呵

终于明白了,这是因为JFileChooser本身就是许多component的集合,只要用一个递归函数即可设定其中的字体。代码如下:

//更改JFileChooser中的字体,updateFont是递归调用

private static void updateFont(Component comp, Font font){
comp.setFont(font);
if (comp instanceof Container) {
Container c = (Container) comp;
int n = c.getComponentCount();
for (int i = 0; i < n; i++) {
updateFont(c.getComponent(i), font);
}
}
}

这可能是JFileChooser底层字符集之间的转换出现了问题,编程方法是没法解决了,除非你自己去实现一个FileChooser.你可以去下一个最新的jre,或打开控制面板-区域语言-高级-,下方的列表框中将与英文有关的字符集都选上(gb2312必选).