嘲笑我。
这里显示的是这个简单的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没有显示任何原始格式。
我该怎么办?
答案 0 :(得分:0)
如果我有时间,我会稍后修改我的代码以供将来参考。但我在Stack Overflow上的其他地方找到了解决方案。正如我所怀疑的那样,JTable以不同的方式实现JToolTip,因为它在JTable级别而不是JComponent单元上调用。