JTable标头的每一列的工具提示文本

Aeq*_*tas 5 java swing jtable tooltip

当您将鼠标悬停在该单元格上时,我试图在标题的每个单元格中显示文本作为工具提示。

我发现您可以为整个标题设置工具提示:table.getTableHeader().setToolTipText("asdf");但是不能对每个单元格执行类似的操作,例如:table.getTableHeader().getColumnModel().getColumn(0).setToolTipText("asdf");

我已经看过这个问题,但是getToolTipText当TableCellRenderer中的唯一方法是时,我无法理解如何重写getTableCellRendererComponent。

我发现唯一具有此getToolTipText的类是JComponent

cam*_*ckr 5

请参阅Swing教程中有关为列标题指定工具提示的部分。

我建议使用这种方法,因为每个LAF都可以有自己的自定义渲染器,因此扩展默认渲染器不适用于所有LAF。

Windows表头与MAC表头不同,后者与Nimbus表头不同。

是说创建自己的TableHeader吗?

它正在覆盖创建的代码,JTableHeader因此您可以覆盖getToolTipText(MouseEvent)JTableHeader 的 方法,以便可以基于鼠标位置提供自己的工具提示。该示例代码只是从Array获取工具提示。

我仍然可以使用鼠标下方的文本作为工具提示吗?

如果需要标题的文本,则需要TableColumnModel从JTableHeader获取,然后获取TableColumn,然后使用getHeaderValue()来获取列标题的文本。