我将此文字设置为JTextPane
,内容为text/html
。
<!doctype html>
<html>
<head><title>Test document</title></head>
<body style="font-family:monospace">
<p title="t1" style="color: #FF0000;">
This is <span title="t2" style="color: #00FF00;">new <span style="color: #0000FF;">more</span> title</span> test
</p>
</body>
</html>
我的目标是,当鼠标悬停时,将title属性显示为ToolTip。我了解到可以覆盖JTextPane.getToolTipText(MouseEvent event)
并使用JTextComponent.viewToModel(Point pt)
。
到目前为止,This is
和test
显示工具提示t1
,new
和title
按预期显示工具提示t2
。
但是,当我将鼠标悬停在单词title="t2"
上时,我无法检索more
;相反,它会显示工具提示t1
。
使用JEditorPaneStructureTool,我得到了这个结构:
似乎内部结构存在一些问题。
有没有办法获得正确的标题属性?
答案 0 :(得分:0)
我知道这个问题的一个技巧,知道HTMLDocument的局限性。尝试使用以下字体替换外部跨度:
This is <font title="t2" style="color: #00FF00;">new <span style="color: #0000FF;">more</span> title</font> test
我很确定它会起作用。给这些字体一个特定的类。这样,您可以在导出html内容时将其还原为span。