Java 更改JTextPane中的文本光标大小

Java 更改JTextPane中的文本光标大小,java,swing,cursor,jtextpane,caret,Java,Swing,Cursor,Jtextpane,Caret,我正在制作一个简单的文本编辑器,我有一个JTextPane,并将间距改为1.5f。唯一的问题是,“文本光标”跨越从当前行到下一行的所有像素,而不管字体大小。下面是一个例子: 我是否可以使文本光标大小自动调整为文本大小?在GUI库中,“文本光标”通常称为“插入符号”。秋千也一样。您可以使用方法setCaret对其进行更改。要更改外观,请从javax.swing.text.DefaultCaret继承并重写方法paint请参见此处如何更改插入符号形状 或者,您可以重写modelToView方法以更

我正在制作一个简单的文本编辑器,我有一个JTextPane,并将间距改为1.5f。唯一的问题是,“文本光标”跨越从当前行到下一行的所有像素,而不管字体大小。下面是一个例子:

我是否可以使文本光标大小自动调整为文本大小?

在GUI库中,“文本光标”通常称为“插入符号”。秋千也一样。您可以使用方法
setCaret
对其进行更改。要更改外观,请从javax.swing.text.DefaultCaret继承并重写方法
paint

请参见此处如何更改插入符号形状


或者,您可以重写modelToView方法以更正返回的矩形的形状(高度)。

裁剪得很好的屏幕截图。:)好的,现在它说“类型Display的方法paint(Graphics,DefaultCaret)必须重写或实现一个超类型方法”,并告诉我删除重写。这可以更改caretWidth,但不能更改高度,即:
text.putClientProperty(“caretWidth”,2)
但这并不
text.putClientProperty(“caretHeigth”,2)
text
作为我的JTextPane