home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / table / TableColumn.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.3 KB  |  238 lines

  1. package javax.swing.table;
  2.  
  3. import java.awt.Component;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.Serializable;
  6. import javax.swing.JLabel;
  7. import javax.swing.JTable;
  8. import javax.swing.event.SwingPropertyChangeSupport;
  9.  
  10. public class TableColumn implements Serializable {
  11.    public static final String COLUMN_WIDTH_PROPERTY = "columWidth";
  12.    public static final String HEADER_VALUE_PROPERTY = "headerValue";
  13.    public static final String HEADER_RENDERER_PROPERTY = "headerRenderer";
  14.    public static final String CELL_RENDERER_PROPERTY = "cellRenderer";
  15.    protected int modelIndex;
  16.    protected Object identifier;
  17.    protected int width;
  18.    protected int minWidth;
  19.    private int preferredWidth;
  20.    protected int maxWidth;
  21.    protected TableCellRenderer headerRenderer;
  22.    protected Object headerValue;
  23.    protected TableCellRenderer cellRenderer;
  24.    protected TableCellEditor cellEditor;
  25.    protected boolean isResizable;
  26.    protected transient int resizedPostingDisableCount;
  27.    private SwingPropertyChangeSupport changeSupport;
  28.  
  29.    public TableColumn() {
  30.       this(0);
  31.    }
  32.  
  33.    public TableColumn(int var1) {
  34.       this(var1, 75, (TableCellRenderer)null, (TableCellEditor)null);
  35.    }
  36.  
  37.    public TableColumn(int var1, int var2) {
  38.       this(var1, var2, (TableCellRenderer)null, (TableCellEditor)null);
  39.    }
  40.  
  41.    public TableColumn(int var1, int var2, TableCellRenderer var3, TableCellEditor var4) {
  42.       this.modelIndex = var1;
  43.       this.width = var2;
  44.       this.preferredWidth = var2;
  45.       this.cellRenderer = var3;
  46.       this.cellEditor = var4;
  47.       this.minWidth = 15;
  48.       this.maxWidth = Integer.MAX_VALUE;
  49.       this.isResizable = true;
  50.       this.resizedPostingDisableCount = 0;
  51.       this.headerValue = null;
  52.    }
  53.  
  54.    private void firePropertyChange(String var1, Object var2, Object var3) {
  55.       if (this.changeSupport != null) {
  56.          this.changeSupport.firePropertyChange(var1, var2, var3);
  57.       }
  58.  
  59.    }
  60.  
  61.    private void firePropertyChange(String var1, int var2, int var3) {
  62.       if (var2 != var3) {
  63.          this.firePropertyChange(var1, new Integer(var2), new Integer(var3));
  64.       }
  65.  
  66.    }
  67.  
  68.    private void firePropertyChange(String var1, boolean var2, boolean var3) {
  69.       if (var2 != var3) {
  70.          this.firePropertyChange(var1, new Boolean(var2), new Boolean(var3));
  71.       }
  72.  
  73.    }
  74.  
  75.    public void setModelIndex(int var1) {
  76.       int var2 = this.modelIndex;
  77.       this.modelIndex = var1;
  78.       this.firePropertyChange("modelIndex", var2, var1);
  79.    }
  80.  
  81.    public int getModelIndex() {
  82.       return this.modelIndex;
  83.    }
  84.  
  85.    public void setIdentifier(Object var1) {
  86.       Object var2 = this.identifier;
  87.       this.identifier = var1;
  88.       this.firePropertyChange("identifier", var2, var1);
  89.    }
  90.  
  91.    public Object getIdentifier() {
  92.       return this.identifier != null ? this.identifier : this.getHeaderValue();
  93.    }
  94.  
  95.    public void setHeaderValue(Object var1) {
  96.       Object var2 = this.headerValue;
  97.       this.headerValue = var1;
  98.       this.firePropertyChange("headerValue", var2, var1);
  99.    }
  100.  
  101.    public Object getHeaderValue() {
  102.       return this.headerValue;
  103.    }
  104.  
  105.    public void setHeaderRenderer(TableCellRenderer var1) {
  106.       TableCellRenderer var2 = this.headerRenderer;
  107.       this.headerRenderer = var1;
  108.       this.firePropertyChange("headerRenderer", var2, var1);
  109.    }
  110.  
  111.    public TableCellRenderer getHeaderRenderer() {
  112.       return this.headerRenderer;
  113.    }
  114.  
  115.    public void setCellRenderer(TableCellRenderer var1) {
  116.       TableCellRenderer var2 = this.cellRenderer;
  117.       this.cellRenderer = var1;
  118.       this.firePropertyChange("cellRenderer", var2, var1);
  119.    }
  120.  
  121.    public TableCellRenderer getCellRenderer() {
  122.       return this.cellRenderer;
  123.    }
  124.  
  125.    public void setCellEditor(TableCellEditor var1) {
  126.       TableCellEditor var2 = this.cellEditor;
  127.       this.cellEditor = var1;
  128.       this.firePropertyChange("cellEditor", var2, var1);
  129.    }
  130.  
  131.    public TableCellEditor getCellEditor() {
  132.       return this.cellEditor;
  133.    }
  134.  
  135.    public void setWidth(int var1) {
  136.       int var2 = this.width;
  137.       this.width = Math.min(Math.max(var1, this.minWidth), this.maxWidth);
  138.       this.firePropertyChange("width", var2, this.width);
  139.    }
  140.  
  141.    public int getWidth() {
  142.       return this.width;
  143.    }
  144.  
  145.    public void setPreferredWidth(int var1) {
  146.       int var2 = this.preferredWidth;
  147.       this.preferredWidth = Math.min(Math.max(var1, this.minWidth), this.maxWidth);
  148.       this.firePropertyChange("preferredWidth", var2, this.preferredWidth);
  149.    }
  150.  
  151.    public int getPreferredWidth() {
  152.       return this.preferredWidth;
  153.    }
  154.  
  155.    public void setMinWidth(int var1) {
  156.       int var2 = this.minWidth;
  157.       this.minWidth = Math.max(var1, 0);
  158.       if (this.width < var1) {
  159.          this.setWidth(var1);
  160.       }
  161.  
  162.       if (this.preferredWidth < var1) {
  163.          this.setPreferredWidth(var1);
  164.       }
  165.  
  166.       this.firePropertyChange("minWidth", var2, this.minWidth);
  167.    }
  168.  
  169.    public int getMinWidth() {
  170.       return this.minWidth;
  171.    }
  172.  
  173.    public void setMaxWidth(int var1) {
  174.       int var2 = this.maxWidth;
  175.       this.maxWidth = Math.max(this.minWidth, var1);
  176.       if (this.width > var1) {
  177.          this.setWidth(var1);
  178.       }
  179.  
  180.       if (this.preferredWidth > var1) {
  181.          this.setPreferredWidth(var1);
  182.       }
  183.  
  184.       this.firePropertyChange("maxWidth", var2, this.maxWidth);
  185.    }
  186.  
  187.    public int getMaxWidth() {
  188.       return this.maxWidth;
  189.    }
  190.  
  191.    public void setResizable(boolean var1) {
  192.       boolean var2 = this.isResizable;
  193.       this.isResizable = var1;
  194.       this.firePropertyChange("isResizable", var2, this.isResizable);
  195.    }
  196.  
  197.    public boolean getResizable() {
  198.       return this.isResizable;
  199.    }
  200.  
  201.    public void sizeWidthToFit() {
  202.       if (this.headerRenderer != null) {
  203.          Component var1 = this.headerRenderer.getTableCellRendererComponent((JTable)null, this.getHeaderValue(), false, false, 0, 0);
  204.          int var2 = var1.getPreferredSize().width;
  205.          this.setWidth(var2);
  206.       }
  207.    }
  208.  
  209.    public void disableResizedPosting() {
  210.       ++this.resizedPostingDisableCount;
  211.    }
  212.  
  213.    public void enableResizedPosting() {
  214.       --this.resizedPostingDisableCount;
  215.    }
  216.  
  217.    public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
  218.       if (this.changeSupport == null) {
  219.          this.changeSupport = new SwingPropertyChangeSupport(this);
  220.       }
  221.  
  222.       this.changeSupport.addPropertyChangeListener(var1);
  223.    }
  224.  
  225.    public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
  226.       if (this.changeSupport != null) {
  227.          this.changeSupport.removePropertyChangeListener(var1);
  228.       }
  229.  
  230.    }
  231.  
  232.    protected TableCellRenderer createDefaultHeaderRenderer() {
  233.       1 var1 = new 1(this);
  234.       ((JLabel)var1).setHorizontalAlignment(0);
  235.       return var1;
  236.    }
  237. }
  238.