【问题标题】:Set default font for SWT Shell为 SWT Shell 设置默认字体
【发布时间】:2011-08-28 11:25:36
【问题描述】:

有没有办法为整个 Shell 设置默认字体,以便任何新控件都使用相同的字体?

看来现在我必须为我创建的每个控件设置字体,这会导致过多的冗余。

【问题讨论】:

    标签: java user-interface swt


    【解决方案1】:

    默认使用的字体由平台选择(请参阅Class Font - SWT: The Standard Widget Toolkit 中的其他信息),因此无法为所有小部件设置默认字体,如果需要,您必须“手动”设置。 .

    你为什么要更改默认字体..?

    【讨论】:

    • 抱歉不够清楚,但我有兴趣更改字体 size。默认的太小了,我想要一个首选项,让我可以为整个应用程序随意修改它。
    • 恐怕是同一回事。在 SWT 中,您通过设置不同大小的新字体来设置字体大小..
    【解决方案2】:

    没有改变默认字体大小的api。

    但是,我们可以使用 类阴影 副作用来做到这一点。例如(osx),复制一个源代码org.eclipse.swt.internal.cocoa.NSFont并更新方法

    public static NSFont systemFontOfSize(double fontSize) {
        // hacking it by class shadowing
        fontSize = 24;
        long result = OS.objc_msgSend(OS.class_NSFont, OS.sel_systemFontOfSize_, fontSize);
        return result != 0 ? new NSFont(result) : null;
    }
    

    我们在 SWT 得到结果之前重新分配更大的字体大小

    这是hack,不建议在生产环境中使用。

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多