给我猜这个。
以这里显示的这个简单的 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 没有显示任何原始格式。
我该怎么办?