public class cellRender extends DefaultTableCellRenderer
{
@Override
public Component getTableCellRendererComponent(JTable tblPackage, Object value, boolean isSelected, boolean hasocus, int row, int col)
{
Component c = super.getTableCellRendererComponent(tblPackage, value, isSelected, hasocus, row, col);
if(tblPackage.getColumnModel().getColumn(col).getIdentifier().equals("Package Status"))
{
if(value.toString().equals("ACTIVE"))
{
c.setBackground(Color.GREEN);
}
}
return this;
}
}
符号表示找不到符号......问题是什么?
答案 0 :(得分:0)
我假设您在谈论编译时错误,但我没有。本班
编译正常(除了添加导入之外,我没有对您的代码进行任何更改
语句)。因此,请检查所有导入语句是否正确。
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class cellRender extends DefaultTableCellRenderer
{
@Override
public Component getTableCellRendererComponent(JTable tblPackage, Object value, boolean isSelected, boolean hasocus, int row, int col)
{
Component c = super.getTableCellRendererComponent(tblPackage, value, isSelected, hasocus, row, col);
if(tblPackage.getColumnModel().getColumn(col).getIdentifier().equals("Package Status"))
{
if(value.toString().equals("ACTIVE"))
{
c.setBackground(Color.GREEN);
}
}
return this;
}
}
答案 1 :(得分:0)
在你的return语句中,它应该是组件,所以使用下面的代码:
return c;
答案 2 :(得分:0)
在您的代码中
return this;
此声明错误。因为this
引用了当前对象,您需要返回该组件。
因此,您需要将this
替换为c
return c;
修改强>
试试这个我不确定这个但是......
tblPackage.setDefaultRenderer(Object.class, new TableCellRenderer(){
private DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
@Override
public Component getTableCellRendererComponent(JTable tblPackage, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
Component c = DEFAULT_RENDERER.getTableCellRendererComponent(tblPackage, value, isSelected, hasFocus, row, col);
if(tblPackage.getColumnModel().getColumn(col).getIdentifier().equals("Package Status"))
{
if(value.toString().equals("ACTIVE"))
{
c.setBackground(Color.GREEN);
}
}
return c;
}
});