Salve ragazzi,

il mio problema è il seguente:

Ho una tabella con 3 colonne. La seconda e la terzo colonna contengono rispettivamente le quantita e la soglia minima di un articolo.


Vorrei una jtable che se il valore della colonna 2(quantità) è < della colonna 3(soglia minima) l'intera riga si colori di rosso altrimenti di un altro colore.

Ho provato e riprovato ma sono riuscito solamente a colorare una sola colonna se viene soddisfatta la condizione.

Mostro codice.

codice:
TableColumn c;
	   	RendererTableBodyOrdini rtb = new RendererTableBodyOrdini();

	   	/* Per ogni colonna presente nella tua tabella devi inserire queste righe di codice */      
	   	c = table.getColumnModel().getColumn(2);
	   	c.setCellRenderer(rtb);


public class RendererTableBodyOrdini implements TableCellRenderer {
	    public Component getTableCellRendererComponent(
	        JTable table, Object value, boolean isSelected,
	        boolean hasFocus, int row, int col) {
	 
	    	JLabel label = new JLabel("");
	        label.setHorizontalAlignment(JLabel.CENTER);
	        label.setFont(new Font("Dialog", Font.PLAIN, 12));
	        label.setText(value.toString());
	        label.setOpaque(true);
	        label.setForeground(Color.black);
            int soglia = Integer.parseInt(value.toString());
	        if (soglia < 10) {
	            label.setBackground(Color.RED);
	            
	        } else {
	            label.setBackground(new Color(204, 204, 255));
	        }
	       
	        return label;
	    }
	}