- - PR -
下線付きフォント
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-05-19 19:45
まさです。はじめまして。
JLabel などで、 下線付きフォントを表示したいのですが 自分で下線をひくしかないのでしょうか? Runtime は 1.3.1 です。 | ||||||||
|
投稿日時: 2003-05-20 09:37
JLabelならコンストラクタか、setTextメソッドにhtml表現で下線をつけられます。
例えば,
みたいに。JLabel以外にもできて、同様にhtmlで指定すれば、フォントの設定や、 複数行表示、中央詰めなど簡単にできますよ。 #ただし多用すると少し重くなるかも | ||||||||
|
投稿日時: 2003-05-20 20:19
あまり良くないですが、JLabelのサブクラスの例です。参考になるかどうか…。
このままでは途中でアンダーラインの on/off切り換えても自動で再描画しませんので、あしからず。
| ||||||||
|
投稿日時: 2003-05-21 17:06
Wata さん、Kissinger さん
返信ありがとうございます。 HTML タグを各方法を除くと、 やはり自分でひくしかなさそうですね… 以下余談ですが、 java.awt.Font クラスに下線の設定が無いのはなぜなんでしょう? 下線付きフォントってプラットフォーム依存なんでしょうか? | ||||||||
|
投稿日時: 2003-05-22 13:32
こんにちは、さくらばです。
余談に反応するのもなんですが... 下線の設定は Font クラスではなくて、java.text.AttributedString で行います。 AttributedString クラスは文字列の一部分にいろいろなアトリビュートをつける ためのクラスです。 これを描画するには java.text.AttributedCharacterIterator に変換してから行 うようにします。 JLabel などはこのクラスを使わないで、単に String 型のオブジェクトを書いて いるだけなので装飾を行うには HTML にしないとだめなようです。 一応、AttributedString の単純なサンプルをのせておきます。
| ||||||||
|
投稿日時: 2003-05-22 21:08
java.textパッケージではコレータやフォーマット関連しか使ったことなかったので、
さくらばさんには、いい方法教えてもらいました。 ありがとうございます。 | ||||||||
|
投稿日時: 2003-05-23 09:31
java.textに文字列に属性を設定するクラスがあるのは知ってたけど(知ったのは最近)、
使い道を知りませんでした。ops Graphics#drawStringが対応してたんですね。目から鱗。 これはjavax.swingパッケージばっか見てても気づかないなー [ メッセージ編集済み 編集者: Wata 編集日時 2003-05-23 09:33 ] |
1