Javaの下線フォントの定数値は何ですか?
Font.BOLD 太字フォント
Font.ITALIC 斜体フォント
UNDERLINE フォント定数とは何ですか? 利用可能なすべての定数を試しましたが、うまくいきませんでした。
下線付きで太字の 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
Java API Specificationを見ると、Font
クラスには下線を引くための定数がないようです。
ただし、Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
コンストラクターを使用すると、フォント属性を指定するために、使用する と値をMap
含むを指定できます。TextAttribute
(このTextAttribute
クラスは のサブクラスであることに注意してくださいAttributedCharacterIterator.Attribute
)
TextAttribute.UNDERLINE
のようTextAttribute
です。
編集: The Java TutorialsTextAttribute
のUsing Text Attributes to Style Textセクションに使用例があります。
下線はフォントのプロパティではなく、テキスト セグメントのプロパティです。テキストがレンダリングされると、指定されたフォントでレンダリングされ、その下に線が描画されます。使用しているフレームワークによっては、プロパティを使用してこれを行う場合と、自分で行う必要がある場合があります。
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);