2

私のスイングアプリケーションには、表示したいさまざまなタイプのテキストがあります。たとえば、次のような選択肢のリストの前に見出しテキストを表示したいとします。

    選択肢を選択:
     a
     b

「Select Choice」ラベルに「Heading」フォント (私が定義したもの) を使用し、選択肢に「Choice」フォントを使用するようにします。このパターンは私のアプリケーションの複数の場所で発生するため、理想的には、フォントが設定されている場所を一元化したいと考えています。

私の現在のアプローチは、ファクトリを使用してさまざまなラベル タイプを作成することです。

LabelFactory.createHeadingLabel("LabelText");
LabelFactory.createChoiceLabel("ChoiceText");

ファクトリは、フォントを指定するプロパティ ファイルを読み込み、ファクトリでラベルが作成されるときにラベルをカスタマイズします。このようなファクトリを使用すると機能することはわかっていますが、このようなことを行うための標準の Swing 規則があるかどうかはわかりません。任意の入力をいただければ幸いです。

4

2 に答える 2

2

もう 1 つのアプローチは、拡張することJLabelです。

構成ファイルからフォントを読み取ることもできますが、この方法では、通常のJLabel.

private JLabel header = new HeaderJLabel("Header text");

カスタム ラベルのコンストラクタをオーバーライドするだけです。

また、構成ファイルは 1 回だけ読み込む必要があります。それをメモリにロードし、それ以降はメモリからアクセスします。

于 2009-07-27T15:36:05.527 に答える
0

多くの Swing コンポーネント内で限定的な html を使用できるため、html を使用してテキストにさまざまなスタイルを与えることができる場合があります。

たとえば、headingLabel.setText("< html><b>This text will be bold</b>< /html>"); 太字のラベルが表示されます。

注: < html> と < /html> から余分なスペースを削除する必要があります。

于 2009-07-27T18:58:41.267 に答える