现在,我正在使用Java Swing创建一个JEditorPane,主要是因为它具有超链接的能力。我已成功地显示链接并让它们在单击时执行行为,但我遇到了一些格式问题。
如何设置光标以使其通常为箭头,但将鼠标悬停在文本上时会更改为文本光标? (实质上,光标在Web浏览器中的行为)。我试过了
EditorPane.setCursor(new Cursor(Cursor.TEXT_CURSOR))
但这使得它成为一个文本光标,即使没有悬停在文本上也是如此。现在,悬停在一个链接上显示一个指针;我也想维护这个功能。
将鼠标悬停在链接上时,显示工具提示或鼠标悬停文本的最佳方法是什么?我尝试修改链接的title属性但没有显示任何内容。
我试图实现链接以跳到页面的子部分,就像http://en.wikipedia.org/wiki/Xkcd#History会直接进入维基百科的xkcd页面的历史子部分一样。我怎么能这样做?
对这些中的任何一个的答案都会很棒(而且多个将是非常棒的xP)。非常感谢你的帮助!
答案 0 :(得分:3)
正如你所说,我也可以简单地给出一个单一的答案,让我逐个尝试,这是你最后一个 Point 3 的答案
只需为您的代码提供ID
<h1><a id = "top"></a>First Line</h1>
现在页面底部的某处写下:
<p><a href = "#top">Return to TOP</a></p>
点击此链接,您将到达PAGE的上述区域。
答案 1 :(得分:2)
积分1&amp;可以使用提到的方法here来解决2。特别是,视图/模型转换方法将允许您分别调整setCursor()
和getToolTipText()
。
答案 2 :(得分:2)
您可以从此处获取来源http://java-sl.com/JEditorPaneStructureTool.html 它显示了如何获取文本视图边界。首先,使用viewToModel()方法获取当前鼠标poiunter的插入位置。然后沿着Views树查看叶子视图并计算它的边界。见http://java-sl.com/tip_view_rectangle.html
如果您的鼠标指针位于视图的矩形中,则鼠标悬停在文本上。
您可以检查插入符号位置的文本是否为链接并显示您的工具提示。
使用此http://java-sl.com/tip_links_in_editable.html查看如何检测鼠标是否超过链接。
点3.rd由@nIcE cOw
回答