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 / DefaultTableModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.2 KB  |  288 lines

  1. package javax.swing.table;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Enumeration;
  5. import java.util.Vector;
  6. import javax.swing.event.TableModelEvent;
  7.  
  8. public class DefaultTableModel extends AbstractTableModel implements Serializable {
  9.    protected Vector dataVector;
  10.    protected Vector columnIdentifiers;
  11.  
  12.    public DefaultTableModel() {
  13.       this((Vector)((Vector)null), 0);
  14.    }
  15.  
  16.    public DefaultTableModel(int var1, int var2) {
  17.       Vector var3 = new Vector(var2);
  18.       var3.setSize(var2);
  19.       this.setColumnIdentifiers(var3);
  20.       this.dataVector = new Vector();
  21.       this.setNumRows(var1);
  22.    }
  23.  
  24.    public DefaultTableModel(Vector var1, int var2) {
  25.       this.setColumnIdentifiers(var1);
  26.       this.dataVector = new Vector();
  27.       this.setNumRows(var2);
  28.    }
  29.  
  30.    public DefaultTableModel(Object[] var1, int var2) {
  31.       this(convertToVector(var1), var2);
  32.    }
  33.  
  34.    public DefaultTableModel(Vector var1, Vector var2) {
  35.       this.setDataVector(var1, var2);
  36.    }
  37.  
  38.    public DefaultTableModel(Object[][] var1, Object[] var2) {
  39.       this.setDataVector(var1, var2);
  40.    }
  41.  
  42.    public Vector getDataVector() {
  43.       return this.dataVector;
  44.    }
  45.  
  46.    public void setDataVector(Vector var1, Vector var2) {
  47.       if (var1 == null) {
  48.          throw new IllegalArgumentException("setDataVector() - Null parameter");
  49.       } else {
  50.          this.dataVector = new Vector(0);
  51.          this.setColumnIdentifiers(var2);
  52.          this.dataVector = var1;
  53.          this.newRowsAdded(new TableModelEvent(this, 0, this.getRowCount() - 1, -1, 1));
  54.       }
  55.    }
  56.  
  57.    public void setDataVector(Object[][] var1, Object[] var2) {
  58.       this.setDataVector(convertToVector(var1), convertToVector(var2));
  59.    }
  60.  
  61.    public void newDataAvailable(TableModelEvent var1) {
  62.       ((AbstractTableModel)this).fireTableChanged(var1);
  63.    }
  64.  
  65.    public void newRowsAdded(TableModelEvent var1) {
  66.       int var2 = var1.getFirstRow();
  67.       int var3 = var1.getLastRow();
  68.       if (var2 < 0) {
  69.          var2 = 0;
  70.       }
  71.  
  72.       if (var3 < 0) {
  73.          var3 = this.getRowCount() - 1;
  74.       }
  75.  
  76.       for(int var4 = var2; var4 < var3; ++var4) {
  77.          ((Vector)this.dataVector.elementAt(var4)).setSize(this.getColumnCount());
  78.       }
  79.  
  80.       ((AbstractTableModel)this).fireTableChanged(var1);
  81.    }
  82.  
  83.    public void rowsRemoved(TableModelEvent var1) {
  84.       ((AbstractTableModel)this).fireTableChanged(var1);
  85.    }
  86.  
  87.    public void setColumnIdentifiers(Vector var1) {
  88.       if (var1 != null) {
  89.          this.columnIdentifiers = var1;
  90.       } else {
  91.          this.columnIdentifiers = new Vector();
  92.       }
  93.  
  94.       ((AbstractTableModel)this).fireTableStructureChanged();
  95.    }
  96.  
  97.    public void setColumnIdentifiers(Object[] var1) {
  98.       this.setColumnIdentifiers(convertToVector(var1));
  99.    }
  100.  
  101.    public void setNumRows(int var1) {
  102.       if (var1 >= 0 && var1 != this.getRowCount()) {
  103.          int var2 = this.getRowCount();
  104.          if (var1 <= this.getRowCount()) {
  105.             this.dataVector.setSize(var1);
  106.             ((AbstractTableModel)this).fireTableRowsDeleted(this.getRowCount(), var2 - 1);
  107.          } else {
  108.             int var3 = this.getColumnCount();
  109.  
  110.             while(this.getRowCount() < var1) {
  111.                Vector var4 = new Vector(var3);
  112.                var4.setSize(var3);
  113.                this.dataVector.addElement(var4);
  114.             }
  115.  
  116.             ((AbstractTableModel)this).fireTableRowsInserted(var2, this.getRowCount() - 1);
  117.          }
  118.  
  119.       }
  120.    }
  121.  
  122.    public void setRowCount(int var1) {
  123.       this.setNumRows(var1);
  124.    }
  125.  
  126.    public void setColumnCount(int var1) {
  127.       for(int var2 = 0; var2 < this.getRowCount(); ++var2) {
  128.          Vector var3 = (Vector)this.dataVector.elementAt(var2);
  129.          var3.setSize(var1);
  130.       }
  131.  
  132.       this.columnIdentifiers.setSize(var1);
  133.       ((AbstractTableModel)this).fireTableStructureChanged();
  134.    }
  135.  
  136.    public void addColumn(Object var1) {
  137.       this.addColumn(var1, (Vector)null);
  138.    }
  139.  
  140.    public void addColumn(Object var1, Vector var2) {
  141.       if (var1 == null) {
  142.          throw new IllegalArgumentException("addColumn() - null parameter");
  143.       } else {
  144.          this.columnIdentifiers.addElement(var1);
  145.          int var3 = 0;
  146.  
  147.          for(Enumeration var4 = this.dataVector.elements(); var4.hasMoreElements(); ++var3) {
  148.             Object var5;
  149.             if (var2 != null && var3 < var2.size()) {
  150.                var5 = var2.elementAt(var3);
  151.             } else {
  152.                var5 = null;
  153.             }
  154.  
  155.             ((Vector)var4.nextElement()).addElement(var5);
  156.          }
  157.  
  158.          ((AbstractTableModel)this).fireTableStructureChanged();
  159.       }
  160.    }
  161.  
  162.    public void addColumn(Object var1, Object[] var2) {
  163.       this.addColumn(var1, convertToVector(var2));
  164.    }
  165.  
  166.    public void addRow(Vector var1) {
  167.       if (var1 == null) {
  168.          var1 = new Vector(this.getColumnCount());
  169.       } else {
  170.          var1.setSize(this.getColumnCount());
  171.       }
  172.  
  173.       this.dataVector.addElement(var1);
  174.       this.newRowsAdded(new TableModelEvent(this, this.getRowCount() - 1, this.getRowCount() - 1, -1, 1));
  175.    }
  176.  
  177.    public void addRow(Object[] var1) {
  178.       this.addRow(convertToVector(var1));
  179.    }
  180.  
  181.    public void insertRow(int var1, Vector var2) {
  182.       if (var2 == null) {
  183.          var2 = new Vector(this.getColumnCount());
  184.       } else {
  185.          var2.setSize(this.getColumnCount());
  186.       }
  187.  
  188.       this.dataVector.insertElementAt(var2, var1);
  189.       this.newRowsAdded(new TableModelEvent(this, var1, var1, -1, 1));
  190.    }
  191.  
  192.    public void insertRow(int var1, Object[] var2) {
  193.       this.insertRow(var1, convertToVector(var2));
  194.    }
  195.  
  196.    public void moveRow(int var1, int var2, int var3) {
  197.       if (var1 >= 0 && var1 < this.getRowCount()) {
  198.          if (var2 >= 0 && var2 < this.getRowCount()) {
  199.             if (var1 > var2) {
  200.                throw new ArrayIndexOutOfBoundsException();
  201.             } else if (var1 > var3 || var3 > var2) {
  202.                boolean var4 = var3 < var1;
  203.  
  204.                for(int var5 = var1; var5 <= var2; ++var5) {
  205.                   Object var6 = this.dataVector.elementAt(var5);
  206.                   this.dataVector.removeElementAt(var5);
  207.                   this.dataVector.insertElementAt(var6, var3);
  208.                   if (var4) {
  209.                      ++var3;
  210.                   }
  211.                }
  212.  
  213.                ((AbstractTableModel)this).fireTableDataChanged();
  214.             }
  215.          } else {
  216.             throw new ArrayIndexOutOfBoundsException(var2);
  217.          }
  218.       } else {
  219.          throw new ArrayIndexOutOfBoundsException(var1);
  220.       }
  221.    }
  222.  
  223.    public void removeRow(int var1) {
  224.       this.dataVector.removeElementAt(var1);
  225.       ((AbstractTableModel)this).fireTableRowsDeleted(var1, var1);
  226.    }
  227.  
  228.    public int getRowCount() {
  229.       return this.dataVector.size();
  230.    }
  231.  
  232.    public int getColumnCount() {
  233.       return this.columnIdentifiers.size();
  234.    }
  235.  
  236.    public String getColumnName(int var1) {
  237.       if (this.columnIdentifiers != null && this.columnIdentifiers.size() > var1) {
  238.          Object var2 = this.columnIdentifiers.elementAt(var1);
  239.          return var2 == null ? super.getColumnName(var1) : var2.toString();
  240.       } else {
  241.          return super.getColumnName(var1);
  242.       }
  243.    }
  244.  
  245.    public boolean isCellEditable(int var1, int var2) {
  246.       return true;
  247.    }
  248.  
  249.    public Object getValueAt(int var1, int var2) {
  250.       Vector var3 = (Vector)this.dataVector.elementAt(var1);
  251.       return var3.elementAt(var2);
  252.    }
  253.  
  254.    public void setValueAt(Object var1, int var2, int var3) {
  255.       Vector var4 = (Vector)this.dataVector.elementAt(var2);
  256.       var4.setElementAt(var1, var3);
  257.       ((AbstractTableModel)this).fireTableChanged(new TableModelEvent(this, var2, var2, var3));
  258.    }
  259.  
  260.    protected static Vector convertToVector(Object[] var0) {
  261.       if (var0 == null) {
  262.          return null;
  263.       } else {
  264.          Vector var1 = new Vector(var0.length);
  265.  
  266.          for(int var2 = 0; var2 < var0.length; ++var2) {
  267.             var1.addElement(var0[var2]);
  268.          }
  269.  
  270.          return var1;
  271.       }
  272.    }
  273.  
  274.    protected static Vector convertToVector(Object[][] var0) {
  275.       if (var0 == null) {
  276.          return null;
  277.       } else {
  278.          Vector var1 = new Vector(var0.length);
  279.  
  280.          for(int var2 = 0; var2 < var0.length; ++var2) {
  281.             var1.addElement(convertToVector(var0[var2]));
  282.          }
  283.  
  284.          return var1;
  285.       }
  286.    }
  287. }
  288.