@Override protected void customizeCellRenderer( JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) { if (!(value instanceof LaunchCompatibility)) { return; } LaunchCompatibility compatibility = (LaunchCompatibility) value; ThreeState compatible = compatibility.isCompatible(); if (compatible == ThreeState.YES) { append("Yes"); } else { if (compatible == ThreeState.NO) { append("No", SimpleTextAttributes.ERROR_ATTRIBUTES); } else { append("Maybe"); } String reason = compatibility.getReason(); if (reason != null) { append(", "); append(reason); } } }