JLabel中的可单击单词

时间:2012-12-10 16:22:40

标签: java swing click jlabel mouselistener

我想在Jlabel文本中包含可单击的单词,我想为每个单词注册一个MouseListener或者获取单击的单词(否则)。下图显示了我想要的内容。这可能吗?!

enter image description here

1 个答案:

答案 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
      }
    }
  }
});