2

クリック可能な Jlabel テキスト内に単語が必要であり、単語ごとに MouseListener を登録するか、クリックされた単語を取得します (そうでない場合)。下の画像は、私が欲しいものを示しています。これは可能ですか?

ここに画像の説明を入力

4

1 に答える 1

7

いいえ、JLabel 全体をクリック可能にすることしかできません。ただし、もちろん、複数の JLabel を隣り合わせに配置して、クリック可能なものをいくつかだけにすることができます (そして、外観が異なります)。

必要に応じて、たとえば で HTML を使用し、HTMLJEditorPaneを介して特定の単語をクリック可能にすることもできます。私はそれについてここで何かを見つけました.これはあなたにとってどのように見えるかです:

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 に答える