如何更改 JTextPane 中的插入符号高度,以及如何垂直移动它(使插入符号看起来比正常值低 2 像素而不移动其他任何东西?
顺便说一句:这行不通。它使插入符号停止闪烁。
您之前示例的唯一问题是没有设置眨眼率......
JTextPane editor = new JTextPane();
DefaultCaret dc = new DefaultCaret() {
@Override
public void paint(Graphics g) {
if (isVisible()) {
JTextComponent comp = getComponent();
if (comp == null) {
return;
}
Rectangle r = null;
try {
r = comp.modelToView(getDot());
if (r == null) {
return;
}
} catch (BadLocationException e) {
return;
}
if (isVisible()) {
g.fillRect(r.x, r.y + 2, 1, r.height - 2);
}
}
}
};
dc.setBlinkRate(500);
editor.setCaret(dc);
有一个眨眼率属性,您可能应该使用它来保持同步,但我会让您根据需要弄清楚...