我想在Jlabel文本中包含可单击的单词,我想为每个单词注册一个MouseListener或者获取单击的单词(否则)。下图显示了我想要的内容。这可能吗?!
答案 0 :(得分:6)
不,您只能使整个JLabel可点击。但是你可以把几个JLabel放在一起,当然只有几个可点击的(外观不同)。
你也可以使用HTML,例如在JEditorPane
中,如果符合您的需要,可以通过HTML点击某些单词。我找到了关于here的内容,这就是你的样子:
JEditorPane jep = new JEditorPane("text/html", "Click <a href='pdf'>here</a> to display a PDF file. For more information click <a href='info'>here</a>.");
jep.setEditable(false);
jep.setOpaque(false);
jep.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent hle) {
if (HyperlinkEvent.EventType.ACTIVATED.equals(hle.getEventType())) {
if (hle.getDescription().equalsIgnoreCase("pdf")) {
// display PDF
} else if (hle.getDescription().equalsIgnoreCase("info")) {
// display information
}
}
}
});