我想在 Jlabel 文本中有可点击的单词,并且我想为每个单词注册一个 MouseListener 或获取点击的单词(否则)。下图展示了我想要的。这可能吗 ?!
问问题
892 次
1 回答
7
不,您只能使整个 JLabel 可点击。但是您当然可以将多个 JLabel 并排放置,从而只使几个可点击(并且外观不同)。
JEditorPane
如果适合您的需要,您还可以使用 HTML,例如在 a中,并通过 HTML 使某些单词可点击。我在这里找到了一些关于它的东西,这就是你的样子:
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
}
}
}
});
于 2012-12-10T16:29:41.123 回答