@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
这不是我的课。我只是实现了一个接口方法。
答案 0 :(得分:3)
这不是我的那个类,我只是实现了一个接口的方法。
然后您的父类super
为Object
且没有方法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;
}
}