private static class MessageRenderer extends JLabel implements ListCellRenderer {
private static final long serialVersionUID = 6898987006278555574L;
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
CompilerMessage message = (CompilerMessage)value;
if(message.getSeverity() == CompilerMessage.Severity.FATAL) {
setIcon(ERROR_ICON);
} else if(message.getSeverity() == CompilerMessage.Severity.ERROR) {
setIcon(ERROR_ICON);
} else if(message.getSeverity() == CompilerMessage.Severity.WARNING) {
setIcon(WARNING_ICON);
} else if(message.getSeverity() == CompilerMessage.Severity.INFO) {
setIcon(INFO_ICON);
}
setText(message.toString());
return this;
}