为什么我得到一个"找不到符号" Java中的错误?

时间:2011-11-05 14:42:43

标签: java swing tablecellrenderer

@Override
public Component getTableCellRendererComponent(
        JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int col) {

    // *** here  *** 
    Component c = super.getTableCellRendererComponent(table, value, isSelected, 
               hasFocus, row, col); 

    // Formatting here
    return c;
}

我在指示的行中收到错误。它说“找不到符号”,但我无法意识到真正的问题是什么。


更新

@martinusadyh

我担心课程太大,所以不允许我把它粘贴在这里。

@ Hovercraft充满鳗鱼

这是Netbeans中的错误 http://i.stack.imgur.com/R4fv3.jpg

@Henery

这不是我的课。我只是实现了一个接口方法。

2 个答案:

答案 0 :(得分:3)

  

这不是我的那个类,我只是实现了一个接口的方法。

然后您的父类superObject且没有方法getTableCellRendererComponent。你要么必须扩展一个合适的类,要么在不调用不存在的方法的情况下相处。

答案 1 :(得分:2)

您必须extends DefaultTableCellRenderer而不是implements TableCellRenderer


注意DefaultTableCellRenderer其方法getTableCellRendererComponent返回this。这意味着调用super.getTableCellRendererComponent();而不将其分配给局部变量就足够了。因为局部变量等于this。也许我的解释太难了:例如。

public class MyTableCellRenderer extends DefaultTableCellRenderer
{

    @Override
    public Component getTableCellRendererComponent(
            JTable table, Object value, boolean isSelected,
            boolean hasFocus, int row, int col) {

        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col); 

        // Formatting here
        setIcon(myCustomIcon);
        setText(myCustomText);

        return this;
    }

}