如何设置 JTable 标题的工具提示位置?显示工具提示没有问题,但我想将其直接放置在列标题上方,而不是默认位置(在鼠标光标下方)。
我可以通过重写 JTable 类中的 getToolTipLocation
方法成功地对 JTable 单元格执行此操作,但它似乎不适用于表头。
此外,JTableHeader 类不支持 getToolTipLocation
方法。我已经为此努力了一段时间,任何示例或见解将不胜感激。
最佳答案
我错误地认为 JTableHeader 不支持 getToolTipLocation。它隐藏在 JComponent 类中,JTableHeader 是 JComponent 类的子类。我提供的代码示例解决了我的问题。我在 JTable 类的子类中实现了代码。我仍在熟悉这个网站,如果示例看起来不完整,我深表歉意。
protected JTableHeader createDefaultTableHeader() {
return new JTableHeader(this.columnModel) {
Point p = null;
@Override
public String getToolTipText(MouseEvent e) {
int colIdx = this.columnAtPoint(e.getPoint());
Rectangle rect = this.getHeaderRect(colIdx);
p = rect.getLocation();
return this.columnModel.getColumn(colIdx).getHeaderValue().toString();
}
@Override
public Point getToolTipLocation(MouseEvent e) {
return p;
}
};
}
关于java - 如何为 JTable 标题设置自定义工具提示位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60347620/