1 package org.columba.mail.gui.config.accountlist; 15 16 import java.awt.Component ; 17 import java.awt.Font ; 18 19 import javax.swing.BorderFactory ; 20 import javax.swing.ImageIcon ; 21 import javax.swing.JLabel ; 22 import javax.swing.JTable ; 23 import javax.swing.UIManager ; 24 import javax.swing.border.Border ; 25 import javax.swing.table.TableCellRenderer ; 26 27 import org.columba.core.resourceloader.IconKeys; 28 import org.columba.core.resourceloader.ImageLoader; 29 30 public class StringAccountRenderer extends JLabel implements TableCellRenderer { 31 32 private static final java.util.logging.Logger LOG = java.util.logging.Logger 33 .getLogger("org.columba.mail.gui.config.accountlist"); 35 private Border unselectedBorder = null; 36 37 private Border selectedBorder = null; 38 39 private boolean isBordered = true; 40 41 private Font boldFont; 42 43 private ImageIcon image1 = ImageLoader.getSmallIcon(IconKeys.COMPUTER); 44 45 private ImageIcon image2 = ImageLoader 46 .getSmallIcon(IconKeys.SERVER); 47 48 private boolean b; 49 50 public StringAccountRenderer(boolean b) { 51 super(); 52 this.b = b; 53 54 this.isBordered = true; 55 56 setOpaque(true); 58 boldFont = UIManager.getFont("Label.font"); 59 boldFont = boldFont.deriveFont(Font.BOLD); 60 61 } 62 63 public Component getTableCellRendererComponent(JTable table, Object value, 64 boolean isSelected, boolean hasFocus, int row, int column) { 65 if (isBordered) { 68 if (isSelected) { 69 if (selectedBorder == null) { 70 selectedBorder = BorderFactory.createMatteBorder(2, 5, 2, 71 5, table.getSelectionBackground()); 72 } 73 74 setBackground(table.getSelectionBackground()); 76 setForeground(table.getSelectionForeground()); 77 } else { 78 if (unselectedBorder == null) { 79 unselectedBorder = BorderFactory.createMatteBorder(2, 5, 2, 80 5, table.getBackground()); 81 } 82 83 setBackground(table.getBackground()); 84 85 setForeground(table.getForeground()); 87 } 88 } 89 90 String str = null; 91 92 try { 93 str = (String ) value; 94 } catch (ClassCastException ex) { 95 LOG.info(" filter renderer: " + ex.getMessage()); str = ""; 97 } 98 99 if (b == true) { 100 if (str.equalsIgnoreCase("POP3")) { 101 setIcon(image1); 102 } else if (str.equalsIgnoreCase("IMAP4")) { 103 setIcon(image2); 104 } 105 } 106 107 setText(str); 108 109 return this; 110 } 111 } 112 | Popular Tags |