2

JTextPane と JButton を使用しています

ボタンをクリックすると、JTextPane のすべての文字の下にドットが表示されることを願っています

例えば

これを行う方法はありますか?

大きな問題は、すべての文字の下にドットを追加する方法です:(

4

3 に答える 3

1

http://java-sl.com/tip_colored_strikethrough.html色付きの取り消し線の例を使用できます。

必要なのは、文字の下に線を引くことだけです。インスタンスに設定Strokeするだけです。Graphics2D(シーBasicStrokeアンドダッシュパターン)

于 2012-11-27T06:13:01.073 に答える
1

テキスト コンポーネントの文字間隔を処理する を使用しjavax.swing.text.DefaultHighlighterて、そのコンポーネントの背景の描画を行うことができます。

public class DotHighlighter extends DefaultHighlighter {
    // implementation
}

カスタム ハイライターの実装は中程度の作業量ですが、下線付きハイライター実装の優れたコード例を次に示します。ドットを描画するように変更できるはずです。

于 2012-11-27T05:30:16.537 に答える
0

等幅フォントを使用していますか? その場合、新しいラベルを作成し、ピリオドのみで構成された文字列 (元のラベルの文字列と同じ長さ) を表示し、そのラベルを最初のラベルより少し下に表示することができます。

IE の場合、ラベルに が表示されている場合、24465 ピクセルまたは 10 ピクセル低い 2 番目のラベルを作成できます....

繰り返しますが、これは等幅フォントでのみ機能します。他のフォントでも可能ですが、より複雑な解決策が必要になります (各文字をループし、その場所を見つけ、その下にドットを表示することを管理します)。 、 私は信じている。

于 2012-11-27T05:21:28.020 に答える