blackbassexe
Messages postés3Date d'inscriptionjeudi 7 juin 2012StatutMembreDernière intervention14 juillet 2012
-
13 juil. 2012 à 08:41
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 2012
-
15 juil. 2012 à 07:43
bonjour a tous
voila depuis un bon moment deja je recherche comment mettre une ligne de ma jTable en couleur, mais le probleme c'est que ce n'est pas une regle fixe mais des parametres qui peuvent changer qui disent si la colonne doit etre rouge ou non
j'utilise ce modele pour mes jTables
class MyDefaultTableModel extends DefaultTableModel{
private List indexColEditable = new ArrayList();
public MyDefaultTableModel() {
super();
}
public MyDefaultTableModel(int rowCount, int columnCount) {
super(rowCount, columnCount);
}
public MyDefaultTableModel(Object[] columnNames, int rowCount) {
super(columnNames, rowCount);
}
public MyDefaultTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
}
public MyDefaultTableModel(Vector columnNames, int rowCount) {
super(columnNames, rowCount);
}
public MyDefaultTableModel(Vector data, Vector columnNames) {
super(data, columnNames);
}
@Override
public boolean isCellEditable(int row, int column) {
if(indexColEditable.contains(column)){
return true;
}else{
return false;
}
}
public void setIndexColEditable(List listColEditable){
if(listColEditable != null){
indexColEditable = listColEditable;
}else{
indexColEditable = new ArrayList();
}
}
}
et la regle est la suivante
do{
//parcourir les entrees de la jtable et extraire le TRS minimum
String valueAt = (String) jTable3.getValueAt(i, 15);
float trs = Float.parseFloat(valueAt);
String valueAt1 = (String) jTable3.getValueAt(i,1);
ResultSet executeQuery = statement2.executeQuery("SELECT * FROM dbo.taux WHERE nom_machine='"+valueAt1+"'");
executeQuery.first();
Float trsb = executeQuery.getFloat("trs_mini");
System.out.println(trsb);
i++;
if (trsb<trs){
System.out.println(valueAt1+" TRS OK");
}
else {
System.out.println(valueAt1+" TRS non OK");
//afficher la ligne en rouge
}
}
while (i<j);
}
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 15 juil. 2012 à 07:43
La méthode getTableCellRendererComponent du CellRenderer est en fait très dynamique. Elle est appelée chaque fois qu'un changement arrive à la table (en cours de défilement, la sélection change, etc.).