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; } }



Rispondi quotando

