Para tutorías y/o asesorías virtuales sobre JAVA SE y/o MySQL, escríbeme al formulario de contacto.

BUSCA MÁS CONTENIDO AQUÍ:



JAVA-Tips: ¿Cómo asignar un color de fondo a las celdas de un JTable?




En esta ocasión realizaremos un corto y sencillo tip de JAVA, que nos ayudará a darle un toque diferente a nuestras tablas, ya que nos permitirá atribuirle un color de fondo a todas las celdas; es decir, cambiaremos el tono que traen por defecto (blanco), dándole un aspecto llamativo a nuestro JTable y a la presentación de los registros del mismo.

Imagen del capítulo número 19 de JAVA-Tips

Antes de comenzar, hay que tener muy en cuenta, que muchas veces los colores que apliquemos al fondo de las celdas, no harán un buen contraste con el color de la fuente y/o letra de los datos que estas contienen, por lo que en estos casos se hace muy conveniente y casi que una obligación, configurar de igual manera el color de las letras que hay en nuestra tabla. 

Al igual que en otros capítulos de JAVA-Tips, realizaremos los siguientes pasos, utilizando NetBeans IDE (si aún no lo tienes puedes dirigirte a nuestra Zona de descargas, y dar clic en el icono "NetBeans IDE"):

1-Seleccionaremos el JTable, dando clic directamente sobre el mismo, o seleccionándolo desde la ventana "Navegador" (Inspector) de NetBeans IDE, ubicada generalmente en la parte inferior izquierda de nuestra pantalla:

Clic sobre un JTable para seleccionarlo
Clic sobre el componente JTable, desde la ventana Navegador en NetBeans IDE 

2-Nos dirigiremos a la ventana "Properties" (Propiedades), la cual se encuentra ubicada generalmente en la parte inferior derecha de nuestra pantalla; a continuación, damos clic en el botón "..." de la propiedad "background" (fondo):
 
Clic en la propiedad background de la tabla

3-Nos aparecerá una nueva ventana, en la cual podremos observar una paleta de colores donde escogeremos el color que queremos asignarle al fondo de las celdas del JTable (tabla), para ello damos clic sobre el recuadro que representa el tono deseado, y posteriormente damos clic en el botón "OK".
Si observamos muy bien, en la ventana que nos encontramos, veremos una serie de pestañas (Muestras, HSV, HSL, RGB, CMYK, Paleta AWT, Paleta Swing, y Paleta del Sistema), las cuales consisten en las distintas formas u opciones que se nos brinda para escoger una tonalidad específica:

Clic sobre el color a escoger para el fondo de las celdas del JTable

4-Ahora sólo bastará con que ejecutemos nuestro proyecto, y observaremos la nueva apariencia de las celdas de nuestra tabla, en cuanto a color y/o tonalidad se trata:

Celdas del JTable con color de fondo


Filas de distintos colores...







Hay ciertas circunstancias o casos, en los cuales necesitamos que las filas no tengan el mismo color de fondo, esto a razón de un determinado valor de una columna en específico; sin embargo, aquí ya nos tocaría hacer uso de condicionales, lo que significa adentrarnos en la parte del código, por ello te invito a que revises el artículo "Código JAVA: Colorear filas de una Tabla", en el cual aprenderás a realizar dicha modificación en tu JTable, sin ningún inconveniente.

Si te perdiste el artículo anterior de JAVA-Tips, no dejes de revisarlo, ya que aprenderás algo nuevo e importante como: "Emplear campos de fecha en tus formularios".

Te invitamos a seguir el Curso de JAVA: Cómo lo hago en JAVA?, aquí en UH T.I.S tu Blog de tecnología.

Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.

Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos.
Si tienes dudas o sugerencias al respecto, abajo puedes dejarnos tus comentarios.
Bendiciones...




Comparte este artículo






Sobre El Autor

Eduardo Bastidas UH

Cristiano y Colombiano. Analista de Sistemas & Blogger.
Me motiva mucho el poder compartir día tras día lo que he aprendido y voy aprendiendo en el área de las Tecnologías de la Información y las Comunicaciones.

3 comentarios:

  1. amigo me gustaría saber como colorear una sola celda e logrado hacer que me pinte el jtable dependiendo de la fecha pero solo quiero pintar una sola celda te dejo mi código para que me ayudes
    String fechas;
    private void tbldatosMouseClicked(java.awt.event.MouseEvent evt) {

    if(evt.getButton()==1){
    int fila=tbldatos.getSelectedRow();
    try {
    String sql="select * from dd where id="+tbldatos.getValueAt(fila, 0);
    PreparedStatement pst =cn.prepareStatement(sql);
    ResultSet rs=pst.executeQuery(sql);
    rs.next();
    nombre.setText(rs.getString("nombre"));
    fechas=(rs.getString("fechadeentrega"));
    sexo.setSelectedItem(rs.getString("sexo"));
    dia.setSelectedItem(rs.getString("dia"));


    } catch (Exception e) {
    }

    }
    try{

    SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
    String fecha1 = fechas;
    Date fechaActual = new Date();
    String fechaSistema=sdf.format(fechaActual);


    Date date1 = sdf.parse(fecha1);
    Date date2 = sdf.parse(fechaSistema);



    System.out.println(sdf.format(date1));
    System.out.println(sdf.format(date2));

    if(date1.compareTo(date2)>0){
    tbldatos.setBackground(Color.YELLOW);

    System.out.println("Date1 is after Date2");
    }else if(date1.compareTo(date2)<0){
    tbldatos.setBackground(Color.red);
    System.out.println("Date1 is before Date2");
    }else if(date1.compareTo(date2)==0){
    tbldatos.setBackground(Color.GREEN);
    JOptionPane.showMessageDialog(null, "hoy es eldia de entrega");
    System.out.println("Date1 is igual to Date2");
    }else{
    System.out.println("How to get here?");
    }

    }catch(ParseException ex){
    ex.printStackTrace();
    }

    }

    ResponderEliminar
    Respuestas
    1. Saludos estimado, te regalo este link en el cual hay un código que te puede ayudar a colorear la celda que necesitas:
      http://codigosparadesarrolladores.blogspot.com/2014/10/codigo-java-colorear-filas-de-una-tabla.html

      Bendiciones...

      Eliminar


RECIBIR NOTICIAS POR EMAIL


Suscríbete al boletín para recibir lo último en tu correo electrónico

¿NECESITAS AYUDA PARA PROGRAMAR EN JAVA SE Y MYSQL?