以下代码在windows平台下面能正常运行。但是在红旗linux 5下面运行却要抛出异常。
  我找到了一个方法能在linux下正常运行:
先运行:export LANG=en_US.UTF8,然后运行下面代码就能输出平台字体。
这样做的问题是先运行export LANG=en_US.UTF8后,我的系统其他地方要出现乱码等等其他情况,所以请教各位高手是不是有其他方法能顺利运行此程序,谢谢!
import java.io.*;
public class Font {
  public static void main(String[] args) {
        

        String[] fontFamilies = null;
       try {
          fontFamilies = java.awt.GraphicsEnvironment.
          getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
           }
            catch (Exception ex) {
               ex.printStackTrace();
          }
       for(int i=0;i<fontFamilies.length;i++){
       System.out.println("fontFamilies:"+fontFamilies[i]);
       }
    
    }
  }

解决方案 »

  1.   

    字体族是Windows提出来的概念,可能有些OS确实不支持,或者用其他的概念支持,谁知道Java是怎么被实现的。
      

  2.   

    我这里linux环境没有,我在Solaris 10 的机器上运行你的代码,没有任何问题
      

  3.   

    写个shell应该就可以了
    或者java参数加上-Dfile.encoding=UTF-8看看
      

  4.   

        我用的是FC Linux 5.0,用swing作的所有窗口和菜单只要使用了中文都显示的是一个框,目前也在查找解决办法......
      

  5.   

    欢迎到http://www.ityouku.com进行讨论,java菜鸟群:33897438 lichunmei2006@hotmail.com欢迎有志来本论坛讨论。急需高手解决问题。
      

  6.   

    我的是ubuntu 7.10,运行这段代码,没有出错啊.就列出了所有字体的清单.