Ola Todos;
Meu renderizador na esta funcionando para a JTable
No codigo abaixo Seto CellRenderer para cada celula mas quando Seto Renderizador para JTable ficar zebrada ele nao funciona
Alguem pode ajudar ??
jTable1.setDefaultRenderer(Object.class, new CustomRenderer(ac, jTable1));
public class CustomRenderer extends DefaultTableCellRenderer {
private DefaultTableCellRenderer renderer;
private JTable tabela;
private TableColumnModel tcm;
@SuppressWarnings("empty-statement")
public CustomRenderer(ArrayList<colunaBean> colunas, JTable tabela) {
//formata colunas cfe array
this.tabela = tabela;
tcm = tabela.getColumnModel();
//tabela.setDefaultRenderer(Object.class, this);
for (int i = 0; i < colunas.size(); i++) {
final colunaBean c = colunas.get(i);
if (c.getFormatter() == null) {
renderer = new DefaultTableCellRenderer();
}
if (c.getFormatter() != null) {
renderer = new DefaultTableCellRenderer() {
private Format formatter = c.getFormatter();
protected void setValue(Object value) {
setText((value == null) ? "" : formatter.format(value));
}
};
int iParam = 0;
if (c.getFormatter().toString().indexOf("Date") > -1) {
iParam = 0;
} else if (c.getFormatter().toString().indexOf("Integer") > -1) {
iParam = 1;
} else if (c.getFormatter().toString().indexOf("Decimal") > -1) {
iParam = 2;
}
//define CellEditor
DefaultCellEditor df = new CustomCellEditor(c.getFormatter(), iParam);
tcm.getColumn(i).setCellEditor(df);
}
if (c.getAlignment() > -1) {
setAlignment(c.getAlignment());
}
if (c.getWidth() > 0) {
setWidth(i, c.getWidth());
}
if (c.getTooltiptext() != null) {
setTooltiptext(c.getTooltiptext());
} else {
setTooltiptext(c.getNome());
}
//define CellRenderer
tcm.getColumn(i).setCellRenderer(renderer);
}
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JTextField editor = new JTextField();
if (value != null) {
editor.setText(value.toString());
}
editor.setBackground((row % 2 == 0) ? Color.white : Color.cyan);
return editor;
}