salut je suis nouveau dans java jtable cellrendered. Je suis à la recherche d'un moyen qui fonctionne dans mon programme mais je n'ai pas de chance de le trouver. Voici mon jtableModifier la couleur d'arrière-plan de la ligne JTable en fonction de la valeur de la colonne
Employee ID | Name | Status | Position
00565651 Roger Active Manager
00565652 Gina Active Crew
00565652 Alex Inactive Crew
00565652 Seph Active Manager
les données proviennent de la base de données d'accès ms, mais je veux changer l'arrière-plan/avant-plan des lignes qui a une valeur de « inactif » dans la colonne d'état. J'ai trouvé de nombreux exemples sur Internet, mais tout cela n'est pas possible dans mon programme. Est-ce que quelqu'un peut m'aider? Ceci est mon modèle
String[] columnNames = {"Employee ID","Name", "Status", "Position"};
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
ce qui est la façon de créer ma table et comment je suis extraire des données de base de données
public MyList(){//my constructor
frame();
loadListFromDB();
}
public void frame(){//
//codes for frame setsize,titles etc...
tblList = new JTable();
tblList.getTableHeader().setPreferredSize(new Dimension(100, 40));
tblList.getTableHeader().setFont(new Font("SansSerif", Font.BOLD, 25));
tblList.setAutoCreateRowSorter(true);
tblList.setModel(model);
scrollPane.setViewportView(tblList);
loadListFromDB();
}
public void loadListFromDB(){
String sql = "SELECT emp_id,lname,fname,positional_status from tblEmployee";
try{
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()){
Vector row = new Vector();
for (int i = 1; i <= 4; i++){
row.addElement(rs.getObject(i));
}
model.addRow(row);
}
}catch(Exception err){
//for error code
}
}
Comment suis-je supposé ajouter le tableredered de cette façon? Quelqu'un peut-il donner un exemple simple pour changer la couleur de la ligne? Merci d'avance .. Mon programme s'arrête dans ce problème.
double possible de [Comment définir la colonne JTable et la couleur de la ligne?] (Http://stackoverflow.com/questions/3548986/how-do-i-set-the-jtable-column-and -row-color) – DavidPostill
mais les données ont été initialisées dès le début, mes données proviennent de la base de données, je ne sais pas comment mettre mes données en string [] [] base sur votre exemple. –
Vous n'êtes pas question de mettre les données dans la table mais de changer la couleur de la ligne. Vous devriez regarder la partie 'TableCellRenderer' de l'exemple - et ajouter le rendu à votre table. – DavidPostill