下载JDK从1.4升级到1.6后。发现字体不一样。如何才能在1.6下显示和1.4同样的字体啊。
1.4的话 font。properties,1.6的话。就是fontconfig。properties。。这两个文件相关。
但是好像字体的设置方法不太一样
有相关方面了解的高手啊。。指点一二。。

解决方案 »

  1.   

    可以自定义字体,也可以导入外部的字体文件进行设定。
    java.io.File file = new java.io.File("xxxxx");//指定字体文件
    java.io.FileInputStream fi = new java.io.FileInputStream(file);      java.io.BufferedInputStream fb = new java.io.BufferedInputStream(fi);     
    Font font = Font.createFont(Font.TRUETYPE_FONT, fb);
      

  2.   


    如果考虑到你的程序的通用性
    (就是不管在什么地方运行都一样)
    你肯定不能去改JDK的配置文件
    你改掉了,给别人运行
    难道也要别人先改一下配置文件嘛~
    所以你可以在程序中用一个方法先把所有组件的字体统一设置一下
    比如
              Font font = new Font("Dialog",Font.PLAIN,12);//这里写上你喜欢的字体
              UIManager.put("MenuBar.font", font);
              UIManager.put("MenuItem.font", font);
              UIManager.put("Menu.font", font);
              UIManager.put("PopupMenu.font", font);
              UIManager.put("ToolBar.font", font);
              UIManager.put("ToolTip.font", font);
              UIManager.put("TabbedPane.font", font);
              UIManager.put("Label.font", font);
              UIManager.put("List.font", font);
              UIManager.put("ComboBox.font", font);
              UIManager.put("Button.font", font);
              UIManager.put("Table.font", font);
              UIManager.put("TableHeader.font", font);
              UIManager.put("Tree.font", font);
              UIManager.put("TextField.font", font);
              UIManager.put("TextArea.font", font);
              UIManager.put("TitledBorder.font", font);
              UIManager.put("OptionPane.font", font);
              UIManager.put("RadioButton.font", font);
              UIManager.put("CheckBox.font", font);
              UIManager.put("ToggleButton.font", font);
              UIManager.put("Dialog.font", font);
              UIManager.put("Panel.font", font);
              //等等