我想在java中创建一个JFrame,其中包含一些Text。 在我的文本中,需要解释一些单词,所以我想这样做: 例如,如果我的文字是:“奥巴马是美国的总统”,我想如果光标在“奥巴马”上是一个工具提示打开并解释奥巴马,单词的含义存储在一个文件中,我可以搜索它
我想(如果可能的话)光标变为手并且工具提示出现,如果用户点击它,那个词的完整含义出现在JTextArea
或类似的东西。
最后,我希望如果我的文字中的单词在我的文件中有意义,则单词的颜色会变为蓝色。
答案 0 :(得分:3)
您需要创建自定义TextArea并覆盖getToolTipText(MouseEvent)
方法
public class CustomToolTipArea extends JTextArea {
public String getToolTipText(MouseEvent event) {
int pos = viewToModel(event.getPoint());
// calculate vord at Position in text and determine the tooltip text for the word.
}
}