Ich versuche, ein Symbol in einer bestimmten Spalte abhängig von einer Bedingung zu setzen, aber alle erhalten ist der Link des Bildes.Wie setze ich ein Symbol in einer J-Tabelle beim Füllen der Tabelle?
Das ist, wie in der Tabelle Code initiiert:
DefaultTableModel model = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
@Override
public Class<?> getColumnClass(int column) {
switch (column) {
case 0:
case 1:
return Integer.class;
case 2:
return ImageIcon.class;
default:
return Object.class;
}
}
};
Und dann fülle ich die Tabelle aus meiner Datenbank Abhängigkeit von einer Bedingung (Fertig noch nicht begonnen - und in progress):
model.addColumn("Phases");
model.addColumn("Date de début estimée(aaaa/mm/jj)");
model.addColumn("Date de début réelle(aaaa/mm/jj)");
model.addColumn("Date de fin estimée(aaaa/mm/jj)");
model.addColumn("Date de fin réelle(aaaa/mm/jj)");
model.addColumn("Status");
model.addColumn("Tendance");
ArrayList<String> name = new ArrayList<String>();
ArrayList<String> last_name = new ArrayList<String>();
String status = null;
String tendance = null;
byte[] Image = null;
// ImageIcon image2 = new ImageIcon("C:\\Users\\badr\\Documents\\NetBeansProjects\\UPLINE_GROUP\\src\\upline_group\\Ok-48.png");
Date estimated_end_date = null;
Date real_end_date = null;
try {
String sql = "select * from task WHERE id_project='" + id_project1 + "' ORDER BY nom_task ASC";
PST = conn.prepareStatement(sql);
RS = PST.executeQuery();
while (RS.next()) {
try {
String sql2 = "select * from image ";
PST2 = conn2.prepareStatement(sql2);
RS2 = PST2.executeQuery();
while (RS2.next()) {
if (RS.getString("real_start_date") == null && RS.getString("real_end_date") == null) {
status = "0(Non Démarrée)";
//tendance = "0(Non Démarrée)";
Image = RS2.getBytes("non");
}
if (RS.getString("real_start_date") != null && RS.getString("real_end_date") == null) {
status = "1(en cours)";
// tendance = "1(en cours)";
Image = RS2.getBytes("cours");
}
if (RS.getString("real_end_date") != null) {
status = "2(Terminé)";
// tendance = "2(Terminé)";
Image = RS2.getBytes("fini");
}
}
} catch (Exception e) {
System.err.println(e);
}
estimated_end_date = RS.getDate("estimated_end_date");
real_end_date = RS.getDate("real_end_date");
model.addRow(new Object[]{RS.getString("nom_task"), RS.getDate("estimated_start_date"), RS.getDate("real_start_date"), estimated_end_date, real_end_date, status,Image});
}
} catch (Exception e) {
System.err.println(e);
}
jTable1.setModel(model);
Variablennamen sollten NICHT mit einem Großbuchstaben beginnen. – camickr