Salve a tutti,
ho la necessità una volta valorizzata la JTable di fissare il colore di una riga ( o righe ) selezionata.
Non risco a capire (per miei limiti) gli esempi riportati nel forum. Posto il codice :
una volta schiacciato un bottone mi faccio restituire la JTable ( valorizzata tramite una Object [][]) :
...
...
JTable appo = (JTable) t.getComponent(0);
int [] vectRow=appo.getSelectedRows() ;
JLabel my_c=null;
DefaultTableCellRenderer tcl=new DefaultTableCellRenderer() ;
for (int iRow=0;iRow<vectRow.length;iRow++)
for (int iCol=0;iCol<(appo.getColumnCount()) ;iCol++)
{
my_c=(JLabel) tcl.getTableCellRendererComponent(appo,
(Object) appo.getValueAt(vectRow[iRow], iCol),
true,true, vectRow[iRow],iCol);
appo.setValueAt( my_c, vectRow[iRow], iCol) ;
}
con getTableCellRendererComponent così definita:
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int col)
{
Color ALTERNATE_COLOR = new Color(150,200,200);
JLabel testLabel= (JLabel)value ; //new JLabel((String) value );
testLabel.setOpaque(true);
testLabel.setForeground(Color.WHITE);
testLabel.setBackground(ALTERNATE_COLOR);
return testLabel;
}
Ma la riga/righe selezionata non si colora!!![]()
Potreste aiutarmi a capire dove sbaglio?
Grazie anticipatamente.

Rispondi quotando