13

Javaの下線フォントの定数値は何ですか?

Font.BOLD 太字フォント

Font.ITALIC 斜体フォント

UNDERLINE フォント定数とは何ですか? 利用可能なすべての定数を試しましたが、うまくいきませんでした。

4

4 に答える 4

18

下線付きで太字の Serif スタイルのフォント、サイズ = 12 が必要だとします。

Map<TextAttribute, Integer> fontAttributes = new HashMap<TextAttribute, Integer>();
fontAttributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
Font boldUnderline = new Font("Serif",Font.BOLD, 12).deriveFont(fontAttributes);

太字にしたくない場合は、Font.BOLD の代わりに Font.PLAIN を使用してください。Font クラスの getAttributes() メソッドを使用しないでください。クレイジーなワイルドカード パラメータ化された type が提供Map<TextAttribute,?>され、 put() メソッドを呼び出すことができなくなります。時々Javaはそのように厄介になることがあります。その理由に興味がある場合は、次のサイトをご覧ください: http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html

于 2009-01-13T07:30:18.600 に答える
13

Java API Specificationを見ると、Fontクラスには下線を引くための定数がないようです。

ただし、Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)コンストラクターを使用すると、フォント属性を指定するために、使用する と値をMap含むを指定できます。TextAttribute(このTextAttributeクラスは のサブクラスであることに注意してくださいAttributedCharacterIterator.Attribute)

TextAttribute.UNDERLINEのようTextAttributeです。

編集: The Java TutorialsTextAttributeUsing Text Attributes to Style Textセクションに使用例があります。

于 2008-11-28T14:29:42.843 に答える
3

下線はフォントのプロパティではなく、テキスト セグメントのプロパティです。テキストがレンダリングされると、指定されたフォントでレンダリングされ、その下に線が描画されます。使用しているフレームワークによっては、プロパティを使用してこれを行う場合と、自分で行う必要がある場合があります。

于 2008-11-28T14:18:06.937 に答える
0

SWT の場合、以下を使用できます。

StyledText text = new StyledText(shell, SWT.BORDER);
text.setText("0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ");
// make 0123456789 appear underlined
StyleRange style1 = new StyleRange();
style1.start = 0;
style1.length = 10;
style1.underline = true;
text.setStyleRange(style1);
于 2008-11-28T14:23:59.687 に答える