0

TableCellRenderer拡張するカスタムを使用してみましたJLabel-これは私が望むものだけを表示します。デフォルトでJLabelHTML を「認識する」

`<html><body><img src='http://www......jpg'><br>Some Text
<a href='http://www.myDomain.com'>Click Here</a>Some More Text</body></html>`

ただしJLabelは実装されていないaddHyperlinkListenerため、リンクをクリックしても受け入れられません。

TableCellRendererその extendsで同じことを試してみるとJTextPane、「画像」は表示されず、デフォルトの「壊れた」画像だけが表示されます。この場合JTextPaneは を実装しますaddHyperlinkListenerが、これも尊重されません。(はい、リスナーを作成しました。)

TableCellRendererその extendsで同じことを試してみると、JEditorPane再び「画像」は表示されず、デフォルトの「壊れた」画像だけが表示されます。この場合JTextPaneは を実装しますaddHyperlinkListenerが、これも尊重されません。(はい、リスナーを作成しました。)

4

1 に答える 1

4

によって返されるコンポーネントにリスナーをいくつ登録しても、TableCellRenderer呼び出されることはありません。コンポーネントはテーブルに含まれず、スタンプとしてのみ使用されます。その結果、イベントがそれらのリスナーに到達することはありません。この概念は、Swing テーブルのチュートリアル(「レンダラーとエディター」セクション) で説明されています。

にクリック可能なボタンを追加するTable Button 列の例を見ることができますJTable。同じ概念を使用して、ハイパーリンクを に含めることができますJTable

また、 「ハイパーリンクを追加する」JLabelに関する次の SO の質問も興味深いかもしれません。

于 2012-09-19T13:13:59.157 に答える