home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / table / DefaultTableCellRenderer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  2.3 KB  |  68 lines

  1. package com.sun.java.swing.table;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.JLabel;
  5. import com.sun.java.swing.JTable;
  6. import com.sun.java.swing.UIManager;
  7. import com.sun.java.swing.border.Border;
  8. import com.sun.java.swing.border.EmptyBorder;
  9. import java.awt.Color;
  10. import java.awt.Component;
  11. import java.io.Serializable;
  12.  
  13. public class DefaultTableCellRenderer extends JLabel implements TableCellRenderer, Serializable {
  14.    protected static Border noFocusBorder;
  15.    private Color unselectedForeground;
  16.    private Color unselectedBackground;
  17.  
  18.    public DefaultTableCellRenderer() {
  19.       noFocusBorder = new EmptyBorder(1, 2, 1, 2);
  20.       ((JComponent)this).setOpaque(true);
  21.       ((JComponent)this).setBorder(noFocusBorder);
  22.    }
  23.  
  24.    public void setForeground(Color var1) {
  25.       super.setForeground(var1);
  26.       this.unselectedForeground = var1;
  27.    }
  28.  
  29.    public void setBackground(Color var1) {
  30.       super.setBackground(var1);
  31.       this.unselectedBackground = var1;
  32.    }
  33.  
  34.    public void updateUI() {
  35.       super.updateUI();
  36.       this.setForeground((Color)null);
  37.       this.setBackground((Color)null);
  38.    }
  39.  
  40.    public Component getTableCellRendererComponent(JTable var1, Object var2, boolean var3, boolean var4, int var5, int var6) {
  41.       if (var3) {
  42.          super.setForeground(var1.getSelectionForeground());
  43.          super.setBackground(var1.getSelectionBackground());
  44.       } else {
  45.          super.setForeground(this.unselectedForeground != null ? this.unselectedForeground : ((Component)var1).getForeground());
  46.          super.setBackground(this.unselectedBackground != null ? this.unselectedBackground : ((Component)var1).getBackground());
  47.       }
  48.  
  49.       ((JLabel)this).setFont(((Component)var1).getFont());
  50.       if (var4) {
  51.          ((JComponent)this).setBorder(UIManager.getBorder("Table.focusCellHighlightBorder"));
  52.          if (var1.isCellEditable(var5, var6)) {
  53.             super.setForeground(UIManager.getColor("Table.focusCellForeground"));
  54.             super.setBackground(UIManager.getColor("Table.focusCellBackground"));
  55.          }
  56.       } else {
  57.          ((JComponent)this).setBorder(noFocusBorder);
  58.       }
  59.  
  60.       this.setValue(var2);
  61.       return this;
  62.    }
  63.  
  64.    protected void setValue(Object var1) {
  65.       ((JLabel)this).setText(var1 == null ? "" : var1.toString());
  66.    }
  67. }
  68.