これをなぞってください。
ここに示されているこの単純な MyCellRenderer の例を見てください...
class MyCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
JLabel c = (JLabel)super.getTableCellRendererComponent( // params from above );
// This...
c.setToolTipText("I don't want text, I want a custom JComponent here");
return c;
}
}
ただし、単にスーパーのレンダリングされた JLabel にアクセスして単純なテキストのツールチップを追加する代わりに、その JLabel をオーバーライドし、JCustomToolTip ライブラリ http://prefuse.org/doc/api/prefuse/util/ui/を使用して完全にカスタムのツールチップを使用したいと考えています。 JCustomTooltip.html
...しかし、スーパーのレンダリングされた JLabel の元のプロパティをすべて維持したいと考えています。唯一の変更点は、JCustomToolTip が追加されたことです。
私はすべてを試しましたが、何もうまくいかないようです。JLabel を拡張して createToolTip() をオーバーライドし、その子 JLabel を (スーパー JLabel からすべてのプロパティをコピーして) テーブルに戻そうとしましたが、成功しませんでした。JTable はテキスト ツールチップのみを認識するようで、Nimbus は元の書式設定を表示していません。
私は何をしますか?