在制作JAVA桌面的时候为了让界面更美观一点,我一直在windows下使用substance包,但是在linux下使用时却发现界面中所有字符都成了乱码,从同学那么找到了解决办法,跟大家分离一下。
首先写使用substance外观的代码,然后在要使窗体显示的代码之前调用一个方法
private static void InitGlobalFont(Font font) {
FontUIResource fontRes=new FontUIResource(font);
for(Enumeration<Object> keys=UIManager.getDefaults().keys();keys.hasMoreElements();){
Object key=keys.nextElement();
Object value=UIManager.get(key);
if (value instanceof FontUIResource) {
UIManager.put(key, fontRes);
}
}
}
这个方法需要一个字体对象作为参数。
添加后再运行一下JAVA程序,字符就正常了!
本文介绍了一种在Linux环境下使用Substance包时遇到的字符乱码问题及其解决方案。通过自定义方法初始化全局字体资源,成功解决了JAVA桌面应用中的乱码问题。
724

被折叠的 条评论
为什么被折叠?



