我正在课堂上扩展TitleAreaDialog。
标题区域中标题的默认字体看起来不太好
是否可以更改标题的字体?
我不需要在代码中的任何其他位置更改字体,只需要更改标题文本。
我尝试过使用FontRegistry和StyledText。
但我无法弄清楚如何将新字体分配给setTitle()。
FontRegistry fontRegistry = JFaceResources.getFontRegistry();
FontData mainFont = new FontData("Garamond", 18, SWT.NORMAL);
fontRegistry.put("mainFont", new FontData[]{mainFont});
?.setText("Title Text");
?.setFont(fontRegistry.get("mainFont"));
setTitle(?);
答案 0 :(得分:2)
我真的不认为这是可能的。您通过title
设置的String
setTitle(String)
会显示在private
字段titleLabel
中。当您继承Label
时,您无法访问此TitleAreaDialog
。因此,您无法对其应用Font
。
因此,我能想到的唯一可能性是根据原始MyTitleAreaDialog extends TrayDialog
的代码创建您自己的TitleAreaDialog
并在那里设置Font
。您可以在SWT.jar或在线查找源代码。
答案 1 :(得分:0)
这是一个旧问题的答案,但它可能对某人有所帮助。您可以通过更改JFaceResources字体注册表中的字体来完成此操作。
static
{
JFaceResources.getFontRegistry().put(JFaceResources.BANNER_FONT, yourFont.getFontData());
};
我已将此代码添加到静态块中,因此它只执行一次。