我在课堂上扩展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(?);
最佳答案
我真的认为这是不可能的。通过title
设置的String
setTitle(String)
显示在private
字段titleLabel
中。当子类Label
时,您不能访问此TitleAreaDialog
。因此,您不能对其应用Font
。
因此,我想到的唯一可能性是根据原始MyTitleAreaDialog extends TrayDialog
的代码创建自己的TitleAreaDialog
并在那里设置Font
。您可以在SWT.jar或在线中找到源。