我在课堂上扩展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或在线中找到源。

09-27 03:18