Colorear un Jtable en Java?

Servicios de Desarrollo Web, Software y Aplicaciones moviles, & Soporte tecnico, blog oficial de tecnologia y mas

Colorear un Jtable en Java?

Lenguaje java

El jTable es un componente visual que se utiliza en IDE´s como Netbeans o Eclipse y nos permite programar en ella, para multiples necesidades como la siguiente: Colorear un Jtable.

Thank you for reading this post, don't forget to subscribe!

Que consiste en colocar una tabla compuesta por columnas y filas, donde podemos colocar los datos que queramos, como: nombre, apellida, edad, etc.

Como todo componente en Java esta seguido de un modelo – vista, donde podremos editar su información y cambiar sus caracteristicas.

A continuación se va a editar el jtable coloreando las celdas como se muestra a continuación:

Aquí les enseño como colorear las celdas de un jtable de forma completa o parcial según la necesidad que estemos relacionado

El siguiente código es el método que puede ir dentro de una clase independiente:

public NombreControlador(int columna){
this.ColumnaSel = columna; // esta variable dentro del constructor recibirá la columna que tiene la condicion
}

@Override
public Component getTableCellRendererComponent (JTable table, Object value, boolean selected, boolean focused, int row, int column){

super.getTableCellRendererComponent(table, value, selected, focused, row, column);

    if(table.getValueAt(row, ColumnaSel).toString().equals("20")){
         setForeground(Color.RED);   // Color de Fuente
         setBackground(Color.Red);   // Color de Fondo
    }else{
         setForeground(Color.BLUE);   // Color de Fuente
         setBackground(Color.BLUE);   // Color de Fondo
    }
    return this;
}

El código antes nombrado tiene la capacidad de colorear cada row (Registro) dependiendo de la consulta que le coloque.

El siguiente código, muestra la forma como vas a colorear el jtable

NombreControlador color = new NombreControlador(12); // controlador para colorear fuente del jTable


jTabla1.setDefaultRenderer(String.class, color); // De esta forma se colorea todo el registro que
jTabla1.setDefaultRenderer(Integer.class, color); // cumpla con la condición


jTabla2.getColumnModel().getColumn(3).setCellRenderer(color); //De esta forma colorea solo los
jTabla2.getColumnModel().getColumn(4).setCellRenderer(color); // registros que cumplan con la

// condicion y aparte solo se aplicará en las celdas seleccionadas

Nota:

El siguiente código puedes colocar colores personalizados:

Color myColor = new Color(255,255,208);
table.setBackground(myColor);