1 2 25 26 package org.aspectj.ajde.ui.swing; 27 28 import javax.swing.*; 29 import java.awt.*; 30 import java.awt.event.*; 31 import org.aspectj.asm.*; 32 import org.aspectj.ajde.Ajde; 33 34 37 public class CompilerMessagesCellRenderer extends JLabel implements ListCellRenderer { 38 39 public Component getListCellRendererComponent( 40 JList list, 41 Object value, 42 int index, 43 boolean isSelected, 44 boolean cellHasFocus) { 45 if (value != null) { 46 setText(value.toString()); 47 } else { 48 setText(""); 49 } 50 StructureMessage.Kind kind = ((CompilerMessage)value).kind; 51 if (kind.equals(StructureMessage.Kind.WARNING)) { 52 setIcon(AjdeUIManager.getDefault().getIconRegistry().getWarningIcon()); 53 } else if (kind.equals(StructureMessage.Kind.INFO)) { 54 setIcon(null); 55 } else { 56 setIcon(AjdeUIManager.getDefault().getIconRegistry().getErrorIcon()); 57 } 58 if (isSelected) { 59 setBackground(list.getSelectionBackground()); 60 setForeground(list.getSelectionForeground()); 61 } else { 62 setBackground(list.getBackground()); 63 setForeground(list.getForeground()); 64 } 65 setEnabled(list.isEnabled()); 66 setFont(list.getFont()); 67 setOpaque(true); 68 return this; 69 } 70 } | Popular Tags |