java - TitleAreaDialog - 更改 setTitle 的字体 ("abc")

标签 java fonts swt jface titleareadialog

我正在我的类(class)中扩展 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 中或在线找到源代码。

关于java - TitleAreaDialog - 更改 setTitle 的字体 ("abc"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981748/

相关文章:

java - 如何访问 JSONArray 中的每个键和值

Java 并发 - 需要最好的完整教程和示例代码

Java:更改 UI 字体 (Nimbus) 不起作用!

fonts - 如何在 Shiny 中使 checkboxgroupinput 进行颜色编码

windows - Windows 64 位上的 SWT

java - 显示表标题的上下文菜单并获取列索引?

java - 如何制作 Java swing 应用程序项目的安装程序包?

.net - 为什么我得到正方形而不是文本?

java - 复合 Material 中未显示 SWT 标签/按钮

java - 在RelativeLayout上检测多点触摸