有没有办法为整个Shell设置默认字体,以便任何新控件都使用相同的字体?
现在看来我必须为我创建的每个控件设置字体,这会导致过多的冗余。
答案 0 :(得分:2)
默认情况下使用的字体由平台选择(参见Class Font - SWT: The Standard Widget Toolkit中的其他信息),因此无法为所有小部件设置默认字体,如果您需要,则必须“手动” ” ..
为什么要更改默认字体..?
答案 1 :(得分:0)
没有可以更改默认字体大小的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获得结果之前重新分配更大的字体大小
这是黑客行为,不建议在生产环境中使用。