【发布时间】:2011-08-28 11:25:36
【问题描述】:
有没有办法为整个 Shell 设置默认字体,以便任何新控件都使用相同的字体?
看来现在我必须为我创建的每个控件设置字体,这会导致过多的冗余。
【问题讨论】:
标签: java user-interface swt
有没有办法为整个 Shell 设置默认字体,以便任何新控件都使用相同的字体?
看来现在我必须为我创建的每个控件设置字体,这会导致过多的冗余。
【问题讨论】:
标签: java user-interface swt
默认使用的字体由平台选择(请参阅Class Font - SWT: The Standard Widget Toolkit 中的其他信息),因此无法为所有小部件设置默认字体,如果需要,您必须“手动”设置。 .
你为什么要更改默认字体..?
【讨论】:
没有改变默认字体大小的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,不建议在生产环境中使用。
【讨论】: