如何在没有Quaqua的情况下管理Swing UI默认字体大小?

3
我们正在努力从我们的应用程序中去除Quaqua。我们曾使用过调用Quaqua来设置字体大小的方法,例如以下调用:
System.setProperty("Quaqua.sizeStyle", "small");

有没有一种不使用Quaqua就能做到类似的事情的简便方法?还是有人知道适用于OS X的另一个好的外观和感觉呢?

1个回答

5

我也曾经遇到过类似的问题,需要将所有字体设置为特定的字体。下面的代码将会把UIManager中所有*.font属性的字体大小更改为特定的大小。

private static void setFontSize() {
    int fontSize = 12;
    Hashtable defaults = UIManager.getDefaults();
    Enumeration keys = defaults.keys();
    while (keys.hasMoreElements()) {
        Object key = keys.nextElement();

        if ((key instanceof String) && (((String) key).endsWith(".font"))) {
            FontUIResource font = (FontUIResource) UIManager.get(key);
            defaults.put (key, new FontUIResource(font.getFontName(), font.getStyle(), fontSize));
        }
    }
 }

1
从答案http://stackoverflow.com/a/8120380/873282的评论中可以看出:使用deriveFont()更容易:tree.setFont(tree.getFont().deriveFont(24f)); - koppor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接