最近,我发现,在我的GUI应用程序, 中文显示蛮丑陋的。我认为我应该让他们(反锯齿 - anti alias)。但是,如何在Java要如何实现呢?在我的GUI应用程序,我并没有明确选择的我想要的字体。我只让用系统默认的设定。系统每次都会作出以下选择,不管我是在中文还是英文的Locale.javax.swing.plaf.FontUIResource[family=Tahoma,name=Tahoma,style=plain,size=11]谢谢。

解决方案 »

  1.   

    尝试过了。没有作用。
    我试了其他的字体。
        /**
         * Changes the default font of our application.
         * 
         * @param f The font
         */
        public static void setUIFont(javax.swing.plaf.FontUIResource f){
            //
            // sets the default font for all Swing components.
            // ex.
            //  setUIFont (new javax.swing.plaf.FontUIResource
            //   ("Serif",Font.ITALIC,12));
            //
            java.util.Enumeration keys = UIManager.getDefaults().keys();
            while (keys.hasMoreElements()) {
                Object key = keys.nextElement();
                Object value = UIManager.get (key);
                if (value instanceof javax.swing.plaf.FontUIResource) {
                    UIManager.put (key, f);
                }
            }
        }    setUIFont(new javax.swing.plaf.FontUIResource("Dialog",java.awt.Font.PLAIN,12));效果还是不美。没有反锯齿功能。这样说来,我是不是应该用Customized的Font?楷体的似乎很漂亮。请问哪里有高素质且开源的可下载吗?
      

  2.   

    Swing Hacks 中 53 54 55 都在讲 抗锯齿
      

  3.   

    我记得那些 dialog 只是逻辑字体,具体用的是哪一种字体是放在 %JRE_HOME%/lib/fontconfig.* 的文件中的,可以自己改,把 fontconfig.properties.src 复制成为 fontconfig.properties 文件,在该文件中进行修改。具体怎么改法到网上去搜一下吧。原来 NetBeans IDE 编辑器中的字体很不好看,就是通过这种方法更改的。