gpt4 book ai didi

java - 新行后末尾的 jtextpane 光标大小不同

转载 作者:行者123 更新时间:2023-12-02 05:01:53 25 4
gpt4 key购买 nike

我的用户发现,如果 JTextPane 中的最后一个字符是换行符,则光标会更小。无论我单击何处,调试语句都显示相同的光标和相同的字体。我下载了 JTextPaneOracle 演示,并且可以看到相同的行为,因此它似乎是开箱即用的行为。

有人知道解决这个问题的方法吗?

最佳答案

My users found that if the last character in a JTextPane is a newline, the cursor is smaller

插入符号代表该行中使用的最大字体的高度。由于没有文本,因此使用较小的插入符号。这真的是一个值得担心的问题吗?

I downloaded the Oracle demo for JTextPane and can see the same behaviour

将以下代码行添加到 TextComponentDemo:

Rectangle caretCoords = textPane.modelToView(dot);
System.out.println(caretCoords); // added

您将看到高度发生变化。 DefaultCaret 类使用 Rectangle 的高度来绘制插入符。

我想您可以重写 JTextPanemodelToView(...) 方法,以根据文本 Pane 字体的 FontMetrics 返回最小高度。不确定文本 Pane 的哪些其他功能可能会受到影响。

或者您可以重写 DefaultCaretpaint() 方法以使用最小高度,同样基于 FontMetrics。

关于java - 新行后末尾的 jtextpane 光标大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28199530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com