🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #1025

Re: JTable poner color a una fila por defecto

#1025
From: Pedro
Date: Tue, 26 Sep 2006 07:58
108 lines
4278 bytes
O.Reyes escribi�:

> Pedro wrote:
> 
>>Hola
>>
>>Como pregunta el asunto como puede especificar en funci�n de los datos
>>que tenga en un JTable un color para un fila este seleccionada o no ?
>>
>>Gracias y Saludos
> 
> 
> Puedes especificar una clase que herede por ejemplo de un JLabel e implemente la
> interfaz TableCellRenderer, despu�s solo tienes que tomar la decisi�n del color
> que quieres poner seg�n los datos que tenga la celda, te lo pongo en un trozo de
> c�digo:
> 
> 
> public abstract class JLabelRenderer
>       extends JLabel
>       implements TableCellRenderer{
> 
>     /** Contructor */
>     public JLabelRenderer() {
>         super();
>         setHorizontalAlignment(SwingConstants.CENTER);
>     }
> 
>     public Component getTableCellRendererComponent(JTable table, Object value,
> boolean isSelected, boolean hasFocus, int row, int column) {
>         if (isSelected) {
> 	 	/* Para celdas seleccionadas:
> 		seg�n el valor de 'value', pones el color, el tipo de letra,
>         	el formato, o incluso el tooltip.
> 		*/
>             setForeground(table.getSelectionForeground());
>             setBackground(table.getSelectionBackground());
>         } else {
> 	 	/* Para celdas no seleccionadas:
> 		seg�n el valor de 'value', pones el color, el tipo de letra,
>         	el formato, o incluso el tooltip.
> 		*/
>             setForeground(table.getForeground());
>             setBackground(table.getBackground());
>         }
> 
>         setText(value);
>         return this;
>     }
> }
> 
> luego se lo pones a la columna que quieras en la tabla:
> 
> tabla.getColumnModel().getColumn(x).setCellRenderer(elRender);
> 
> o algo as�, lo puedes mirar en el API..


ayer por la noche ya estaba probando con algo parecido

class EvenOddRenderer implements TableCellRenderer {

   public static final DefaultTableCellRenderer DEFAULT_RENDERER = new 
DefaultTableCellRenderer();

   public Component getTableCellRendererComponent(JTable table, Object 
value,
       boolean isSelected, boolean hasFocus, int row, int column) {
     Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(
         table, value, isSelected, hasFocus, row, column);
     ((JLabel) renderer).setOpaque(true);
     Color foreground, background;

     //System.out.println(""renderer.getBackground());
     if (isSelected) {
       foreground = Color.WHITE;
       background = new Color(10,36,106);
     } else { //direccion facturaci�n por defecto

       if (row % 2 == 0) {
         foreground = Color.blue;
         background = Color.white;
       } else {
         foreground = Color.white;
         background = Color.blue;
       }
     }
     renderer.setForeground(foreground);
     renderer.setBackground(background);

//    if(isSelected) {
//        renderer.setBackground(Color.BLUE);
//    }
//
//    if (row == 1) {
//        renderer.setBackground(new Color(234,212,12));
//    }
//  else {
//    renderer.setBackground( new Color(255,255,255));
//    renderer.setForeground(Color.BLACK);
//   }
     return renderer;
   }


probare tu c�digo y utilizare el que vea + comodo de utilizar

Gracias y Saludos
Technical Details
Message-ID: <efamhb$h6f231@cesio.mundo-r.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news2.volia.net!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!news1.dtag.de!cesio.mundo-r.com!not-for-mail
References: <ef9060$h6f138@cesio.mundo-r.com> <ef9g0c$5hs$1@hefestos.uned.es>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,1ca1a23a18541932
X-Google-Attributes: gid1116f3,public
X-Google-Language: SPANISH,CP1252
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news2.volia.net!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!news1.dtag.de!cesio.mundo-r.com!not-for-mail
From: Pedro <Pedro@ddd.com>
Newsgroups: es.comp.lenguajes.java
Subject: Re: JTable poner color a una fila por defecto
Date: Tue, 26 Sep 2006 09:58:42 +0200
Organization: R Cable y Telecomunicaciones
Lines: 108
Message-ID: <efamhb$h6f231@cesio.mundo-r.com>
References: <ef9060$h6f138@cesio.mundo-r.com> <ef9g0c$5hs$1@hefestos.uned.es>
Reply-To: Pedro@ddd.com
NNTP-Posting-Host: cm115140.red83-165.mundo-r.com
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.7.12) Gecko/20050915
X-Accept-Language: es, es-es, en-us, en
In-Reply-To: <ef9g0c$5hs$1@hefestos.uned.es>