I'm trying to add an icon to a particular JTable column by specifying my own table cell renderer as below (based on parts of this tutorial):
public class MyTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel label = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(column == MyTableModel.IMAGE_COLUMN){
String status = (String)value;
Icon icon = StatusImageUtil.getStatusIcon(status);
if(icon == null){
label.setText(status);
}else{
label.setIcon(icon);
}
}
return label;
}
}
The above code works but:
- All cell have the icon instead of
the specific one i want specified in
the if statement
- Cell MyTableModel.IMAGE_COLUMN which
should only have an icon also has
text.
Thanks in advance
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…