在JTable中的单元格上方显示工具提示

Dam*_*ien 6 java swing jtable tooltip

当用户在其中输入错误的值时,我需要在单元格上方(或下方:)显示工具提示(请参见下图).我有一个工具提示,但我需要一个Point来显示它在正确的位置,所以我想获得一个单元格位置.你知道怎么做吗?

但是,如果你有一个更好的解决方案来实现这种行为,我对所有命题持开放态度(特别是因为工具提示没有与cell/Jtable/Panel绑定,如果我移动/关闭/最小化我的窗口工具提示显示在同一位置)

替代文字http://img246.imageshack.us/img246/6756/errorpopup.png

谢谢,Damien

小智 6

请参考下面的代码片段,您将获得解决方案

JTable table = new JTable() {
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
        Component c = super.prepareRenderer(renderer, row, column);
        if (c instanceof JComponent) {
            JComponent jc = (JComponent) c;
            jc.setToolTipText(getValueAt(row, column).toString());
        }
        return c;
    }
};
Run Code Online (Sandbox Code Playgroud)

如果您只想显示特定的单元格,您只需将getValueAt(...)方法的参数中的列参数更改为包含该单元格的特定列