|
Manipular as linhas e colunas de um JTable via DefaultTableCellRenderer JTable jTableVistaAndamento = new JTable(mdjTableVistaAndamento);
jTableVistaAndamento.setShowHorizontalLines(false); jTableVistaAndamento.setShowVerticalLines(false); jTableVistaAndamento.getColumnModel().getColumn(0).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(1).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(2).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(3).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(4).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(5).setCellRenderer(new ColorRender()); jTableVistaAndamento.getColumnModel().getColumn(6).setCellRenderer(new ColorRender1()); jTableVistaAndamento.getColumnModel().getColumn(0).setPreferredWidth(0); jTableVistaAndamento.getColumnModel().getColumn(1).setPreferredWidth(200); jTableVistaAndamento.getColumnModel().getColumn(2).setPreferredWidth(100); jTableVistaAndamento.getColumnModel().getColumn(3).setPreferredWidth(50); jTableVistaAndamento.getColumnModel().getColumn(4).setPreferredWidth(50); jTableVistaAndamento.getColumnModel().getColumn(5).setPreferredWidth(10); Como eu usei. package com.raysystem.mobinotegui;
import java.awt.Color; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer;
/** * * @author raydacosta */ public class ColorRender extends DefaultTableCellRenderer { private Color colorValue = new Color(255,255,255);
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Class c = table.getColumnClass(column); if (Color.class.isAssignableFrom(c)) { // esta coluna pode ser tratada como cor int passo = 0; try { passo = Integer.valueOf( table.getValueAt(row, 5).toString() ); } catch (Exception e) { } if((row % 2) == 0){ setBackground(new Color(234,234,255)); }else{ setBackground(new Color(255,255,255)); } this.setValue(value); return this; } else { // esta coluna pode ser tratada como cor int passo = 0; try { passo = Integer.valueOf( table.getValueAt(row, 5).toString() ); } catch (Exception e) { } if((row % 2) == 0){ setBackground(new Color(234,234,255)); }else{ setBackground(new Color(255,255,255)); } if(isSelected){ setBackground(new Color(204,204,255)); } this.setFont(new java.awt.Font("Dialog", 0, 10)); this.setValue(value); return this; } } }
|