2

我想在 Jlabel 文本中有可点击的单词,并且我想为每个单词注册一个 MouseListener 或获取点击的单词(否则)。下图展示了我想要的。这可能吗 ?!

在此处输入图像描述

4

1 回答 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 回答