2

クラスで 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(?);  
4

2 に答える 2

2

私は本当にそれが可能だとは思わない。設定したtitle String経由がフィールドsetTitle(String)に表示されます。をサブクラス化すると、これにアクセスできなくなります。したがって、a を適用することはできません。privatetitleLabelLabelTitleAreaDialogFont


したがって、私が考えることができる唯一の可能性MyTitleAreaDialog extends TrayDialogは、オリジナルのコードに基づいて独自のコードを作成し、そこにTitleAreaDialog設定するFontことです. ソースは SWT.jar またはオンラインで見つけることができます。

于 2012-10-20T10:02:50.680 に答える
0

これは古い質問への回答ですが、誰かを助けるかもしれません。これは、JFaceResources フォント レジストリのフォントを変更することで実行できます。

static 
{
    JFaceResources.getFontRegistry().put(JFaceResources.BANNER_FONT, yourFont.getFontData());
};

このコードを静的ブロック内に追加したので、一度だけ実行されます。

于 2017-01-02T15:29:46.227 に答える