package com.vmware.vcloud.nclient.ui; import java.awt.Color; import java.awt.Component; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import com.vmware.vcloud.nclient.NotificationMessage; public class NotificationsTableCellRenderer extends DefaultTableCellRenderer { private static final long serialVersionUID = 1L; SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override protected void setValue(Object value) { if (value instanceof NotificationMessage) { NotificationMessage msg = (NotificationMessage) value; setText(msg.getType()); } else if (value instanceof Date) { Date timestamp = (Date) value; setText(df.format(timestamp)); } else { super.setValue(value); } } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); NotificationsTableModel model = (NotificationsTableModel) table.getModel(); row = table.convertRowIndexToModel(row); if (model.isBlockingTask(row)) { comp.setBackground(Color.lightGray); } else { if (isSelected) { comp.setBackground(table.getSelectionBackground()); } else { comp.setBackground(table.getBackground()); } } return comp; } }