home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 25 / CDROM25.iso / Share / prog / VJ11 / VJTRIAL.EXE / IE30Java.exe / classd.exe / java / awt / List.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-27  |  4.1 KB  |  241 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.ListPeer;
  4. import java.util.Vector;
  5.  
  6. public class List extends Component {
  7.    Vector items;
  8.    int rows;
  9.    boolean multipleSelections;
  10.    int[] selected;
  11.    int visibleIndex;
  12.  
  13.    public List() {
  14.       this(0, false);
  15.    }
  16.  
  17.    public List(int var1, boolean var2) {
  18.       this.items = new Vector();
  19.       this.multipleSelections = false;
  20.       this.selected = new int[0];
  21.       this.visibleIndex = -1;
  22.       this.rows = var1;
  23.       this.multipleSelections = var2;
  24.    }
  25.  
  26.    public synchronized void addNotify() {
  27.       super.peer = ((Component)this).getToolkit().createList(this);
  28.       super.addNotify();
  29.       this.visibleIndex = -1;
  30.    }
  31.  
  32.    public synchronized void removeNotify() {
  33.       if (super.peer != null) {
  34.          ListPeer var1 = (ListPeer)super.peer;
  35.          this.selected = var1.getSelectedIndexes();
  36.       }
  37.  
  38.       super.removeNotify();
  39.    }
  40.  
  41.    public int countItems() {
  42.       return this.items.size();
  43.    }
  44.  
  45.    public String getItem(int var1) {
  46.       return (String)this.items.elementAt(var1);
  47.    }
  48.  
  49.    public synchronized void addItem(String var1) {
  50.       this.addItem(var1, -1);
  51.    }
  52.  
  53.    public synchronized void addItem(String var1, int var2) {
  54.       if (var2 < -1 || var2 >= this.items.size()) {
  55.          var2 = -1;
  56.       }
  57.  
  58.       if (var2 == -1) {
  59.          this.items.addElement(var1);
  60.       } else {
  61.          this.items.insertElementAt(var1, var2);
  62.       }
  63.  
  64.       ListPeer var3 = (ListPeer)super.peer;
  65.       if (var3 != null) {
  66.          var3.addItem(var1, var2);
  67.       }
  68.  
  69.    }
  70.  
  71.    public synchronized void replaceItem(String var1, int var2) {
  72.       this.delItem(var2);
  73.       this.addItem(var1, var2);
  74.    }
  75.  
  76.    public synchronized void clear() {
  77.       if (super.peer != null) {
  78.          ((ListPeer)super.peer).clear();
  79.       }
  80.  
  81.       this.items = new Vector();
  82.       this.selected = new int[0];
  83.    }
  84.  
  85.    public synchronized void delItem(int var1) {
  86.       this.delItems(var1, var1);
  87.    }
  88.  
  89.    public synchronized void delItems(int var1, int var2) {
  90.       for(int var3 = var2; var3 >= var1; --var3) {
  91.          this.items.removeElementAt(var3);
  92.       }
  93.  
  94.       if (super.peer != null) {
  95.          ((ListPeer)super.peer).delItems(var1, var2);
  96.       }
  97.  
  98.    }
  99.  
  100.    public synchronized int getSelectedIndex() {
  101.       int[] var1 = this.getSelectedIndexes();
  102.       return var1.length == 1 ? var1[0] : -1;
  103.    }
  104.  
  105.    public synchronized int[] getSelectedIndexes() {
  106.       ListPeer var1 = (ListPeer)super.peer;
  107.       if (var1 != null) {
  108.          this.selected = var1.getSelectedIndexes();
  109.       }
  110.  
  111.       return this.selected;
  112.    }
  113.  
  114.    public synchronized String getSelectedItem() {
  115.       int var1 = this.getSelectedIndex();
  116.       return var1 < 0 ? null : this.getItem(var1);
  117.    }
  118.  
  119.    public synchronized String[] getSelectedItems() {
  120.       int[] var1 = this.getSelectedIndexes();
  121.       String[] var2 = new String[var1.length];
  122.  
  123.       for(int var3 = 0; var3 < var1.length; ++var3) {
  124.          var2[var3] = this.getItem(var1[var3]);
  125.       }
  126.  
  127.       return var2;
  128.    }
  129.  
  130.    public synchronized void select(int var1) {
  131.       ListPeer var2 = (ListPeer)super.peer;
  132.       if (var2 != null) {
  133.          var2.select(var1);
  134.       } else {
  135.          for(int var3 = 0; var3 < this.selected.length; ++var3) {
  136.             if (this.selected[var3] == var1) {
  137.                return;
  138.             }
  139.          }
  140.  
  141.          if (!this.multipleSelections) {
  142.             this.selected = new int[1];
  143.             this.selected[0] = var1;
  144.          } else {
  145.             int[] var4 = new int[this.selected.length + 1];
  146.             System.arraycopy(this.selected, 0, var4, 0, this.selected.length);
  147.             var4[this.selected.length] = var1;
  148.             this.selected = var4;
  149.          }
  150.       }
  151.    }
  152.  
  153.    public synchronized void deselect(int var1) {
  154.       ListPeer var2 = (ListPeer)super.peer;
  155.       if (var2 != null) {
  156.          var2.deselect(var1);
  157.       }
  158.  
  159.       for(int var3 = 0; var3 < this.selected.length; ++var3) {
  160.          if (this.selected[var3] == var1) {
  161.             int[] var4 = new int[this.selected.length - 1];
  162.             System.arraycopy(this.selected, 0, var4, 0, var3);
  163.             System.arraycopy(this.selected, var3 + 1, var4, var3, this.selected.length - (var3 + 1));
  164.             this.selected = var4;
  165.             return;
  166.          }
  167.       }
  168.  
  169.    }
  170.  
  171.    public synchronized boolean isSelected(int var1) {
  172.       int[] var2 = this.getSelectedIndexes();
  173.  
  174.       for(int var3 = 0; var3 < var2.length; ++var3) {
  175.          if (var2[var3] == var1) {
  176.             return true;
  177.          }
  178.       }
  179.  
  180.       return false;
  181.    }
  182.  
  183.    public int getRows() {
  184.       return this.rows;
  185.    }
  186.  
  187.    public boolean allowsMultipleSelections() {
  188.       return this.multipleSelections;
  189.    }
  190.  
  191.    public void setMultipleSelections(boolean var1) {
  192.       if (var1 != this.multipleSelections) {
  193.          this.multipleSelections = var1;
  194.          ListPeer var2 = (ListPeer)super.peer;
  195.          if (var2 != null) {
  196.             var2.setMultipleSelections(var1);
  197.          }
  198.       }
  199.  
  200.    }
  201.  
  202.    public int getVisibleIndex() {
  203.       return this.visibleIndex;
  204.    }
  205.  
  206.    public void makeVisible(int var1) {
  207.       ListPeer var2 = (ListPeer)super.peer;
  208.       this.visibleIndex = var1;
  209.       if (var2 != null) {
  210.          var2.makeVisible(var1);
  211.       }
  212.  
  213.    }
  214.  
  215.    public Dimension preferredSize(int var1) {
  216.       ListPeer var2 = (ListPeer)super.peer;
  217.       return var2 != null ? var2.preferredSize(var1) : super.preferredSize();
  218.    }
  219.  
  220.    public Dimension preferredSize() {
  221.       return this.rows > 0 ? this.preferredSize(this.rows) : super.preferredSize();
  222.    }
  223.  
  224.    public Dimension minimumSize(int var1) {
  225.       ListPeer var2 = (ListPeer)super.peer;
  226.       return var2 != null ? var2.minimumSize(var1) : super.minimumSize();
  227.    }
  228.  
  229.    public Dimension minimumSize() {
  230.       return this.rows > 0 ? this.minimumSize(this.rows) : super.minimumSize();
  231.    }
  232.  
  233.    protected String paramString() {
  234.       return super.paramString() + ",selected=" + this.getSelectedItem();
  235.    }
  236.  
  237.    boolean tabbable() {
  238.       return true;
  239.    }
  240. }
  241.