如何设置JTable标头的工具提示位置?我没有显示工具提示的问题,但我想将其直接放在列标题上方,而不是默认位置(在鼠标光标下方)。
我可以通过重写JTable类中的getToolTipLocation
方法来成功地为JTable单元执行此操作,但是它似乎不适用于表头。
同样,JTableHeader类不支持getToolTipLocation
方法。我已经为此花了一段时间了,任何样本或见识都将不胜感激。
我对JTableHeader不支持getToolTipLocation是错误的。它埋在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;
}
};
}