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

  1. package com.sun.java.swing.text;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class TabSet implements Serializable {
  6.    private TabStop[] tabs;
  7.  
  8.    public TabSet(TabStop[] var1) {
  9.       if (var1 != null) {
  10.          int var2 = var1.length;
  11.          this.tabs = new TabStop[var2];
  12.          System.arraycopy(var1, 0, this.tabs, 0, var2);
  13.       } else {
  14.          this.tabs = null;
  15.       }
  16.    }
  17.  
  18.    public int getTabCount() {
  19.       return this.tabs == null ? 0 : this.tabs.length;
  20.    }
  21.  
  22.    public TabStop getTab(int var1) {
  23.       int var2 = this.getTabCount();
  24.       if (var1 >= 0 && var1 < var2) {
  25.          return this.tabs[var1];
  26.       } else {
  27.          throw new IllegalArgumentException(var1 + " is outside the range of tabs");
  28.       }
  29.    }
  30.  
  31.    public TabStop getTabAfter(float var1) {
  32.       int var2 = this.getTabIndexAfter(var1);
  33.       return var2 == -1 ? null : this.tabs[var2];
  34.    }
  35.  
  36.    public int getTabIndex(TabStop var1) {
  37.       for(int var2 = this.getTabCount() - 1; var2 >= 0; --var2) {
  38.          if (this.getTab(var2) == var1) {
  39.             return var2;
  40.          }
  41.       }
  42.  
  43.       return -1;
  44.    }
  45.  
  46.    public int getTabIndexAfter(float var1) {
  47.       int var3 = 0;
  48.       int var4 = this.getTabCount();
  49.  
  50.       while(var3 != var4) {
  51.          int var2 = (var4 - var3) / 2 + var3;
  52.          if (!(var1 > this.tabs[var2].getPosition())) {
  53.             if (var2 == 0 || var1 > this.tabs[var2 - 1].getPosition()) {
  54.                return var2;
  55.             }
  56.  
  57.             var4 = var2;
  58.          } else if (var3 == var2) {
  59.             var3 = var4;
  60.          } else {
  61.             var3 = var2;
  62.          }
  63.       }
  64.  
  65.       return -1;
  66.    }
  67.  
  68.    public String toString() {
  69.       int var1 = this.getTabCount();
  70.       StringBuffer var2 = new StringBuffer("[ ");
  71.  
  72.       for(int var3 = 0; var3 < var1; ++var3) {
  73.          if (var3 > 0) {
  74.             var2.append(" - ");
  75.          }
  76.  
  77.          var2.append(this.getTab(var3).toString());
  78.       }
  79.  
  80.       var2.append(" ]");
  81.       return var2.toString();
  82.    }
  83. }
  84.