単純なテキストエディタを作成しています。JTextPaneがあり、間隔を1.5fに変更しました。唯一の問題は、「テキストカーソル」が、フォントサイズに関係なく、現在の行から次の行までのすべてのピクセルにまたがることです。次に例を示します。
とにかく、テキストカーソルのサイズをテキストサイズに自動的に調整させることはできますか?
「テキストカーソル」は通常、GUIライブラリでは「caret」と呼ばれます。スイングも同じです。メソッドsetCaret
を使用して変更できます。外観を変更するには、javax.swing.text.DefaultCaret
メソッドを継承してオーバーライドしますpaint
。
キャレットの形状を変更する方法については、 http://java-sl.com/tip_overwrite_mode.htmlを参照してください。
または、yuはmodelToViewメソッドをオーバーライドして、返された長方形の形状(高さ)を修正できます。