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 / java / awt / TextComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  6.2 KB  |  330 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.TextEvent;
  4. import java.awt.event.TextListener;
  5. import java.awt.peer.TextComponentPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.util.EventListener;
  10. import javax.accessibility.Accessible;
  11. import javax.accessibility.AccessibleContext;
  12. import sun.awt.SunToolkit;
  13.  
  14. public class TextComponent extends Component implements Accessible {
  15.    String text;
  16.    boolean editable = true;
  17.    int selectionStart;
  18.    int selectionEnd;
  19.    private transient boolean canAccessClipboard;
  20.    protected transient TextListener textListener;
  21.    private static final long serialVersionUID = -2214773872412987419L;
  22.    private int textComponentSerializedDataVersion = 1;
  23.    // $FF: synthetic field
  24.    static Class class$java$awt$event$TextListener;
  25.  
  26.    TextComponent(String var1) {
  27.       this.text = var1 != null ? var1 : "";
  28.       ((Component)this).setCursor(Cursor.getPredefinedCursor(2));
  29.       this.enableInputMethodsIfNecessary();
  30.       this.checkSystemClipboardAccess();
  31.    }
  32.  
  33.    private void enableInputMethodsIfNecessary() {
  34.       try {
  35.          Toolkit var1 = Toolkit.getDefaultToolkit();
  36.          ((Component)this).enableInputMethods(((SunToolkit)var1).enableInputMethodsForTextComponent());
  37.       } catch (Exception var2) {
  38.       }
  39.  
  40.    }
  41.  
  42.    boolean areInputMethodsEnabled() {
  43.       return (super.eventMask & 4096L) != 0L;
  44.    }
  45.  
  46.    public void removeNotify() {
  47.       Object var1 = ((Component)this).getTreeLock();
  48.       synchronized(var1) {
  49.          TextComponentPeer var2 = (TextComponentPeer)super.peer;
  50.          if (var2 != null) {
  51.             this.text = var2.getText();
  52.             this.selectionStart = var2.getSelectionStart();
  53.             this.selectionEnd = var2.getSelectionEnd();
  54.          }
  55.  
  56.          super.removeNotify();
  57.       }
  58.    }
  59.  
  60.    public synchronized void setText(String var1) {
  61.       this.text = var1 != null ? var1 : "";
  62.       TextComponentPeer var2 = (TextComponentPeer)super.peer;
  63.       if (var2 != null) {
  64.          var2.setText(this.text);
  65.       }
  66.  
  67.    }
  68.  
  69.    public synchronized String getText() {
  70.       TextComponentPeer var1 = (TextComponentPeer)super.peer;
  71.       if (var1 != null) {
  72.          this.text = var1.getText();
  73.       }
  74.  
  75.       return this.text;
  76.    }
  77.  
  78.    public synchronized String getSelectedText() {
  79.       return this.getText().substring(this.getSelectionStart(), this.getSelectionEnd());
  80.    }
  81.  
  82.    public boolean isEditable() {
  83.       return this.editable;
  84.    }
  85.  
  86.    public synchronized void setEditable(boolean var1) {
  87.       if (this.editable != var1) {
  88.          this.editable = var1;
  89.          TextComponentPeer var2 = (TextComponentPeer)super.peer;
  90.          if (var2 != null) {
  91.             var2.setEditable(var1);
  92.          }
  93.  
  94.       }
  95.    }
  96.  
  97.    public Color getBackground() {
  98.       return (Color)(!this.editable ? SystemColor.control : super.getBackground());
  99.    }
  100.  
  101.    public void setBackground(Color var1) {
  102.       if (!this.editable) {
  103.          super.background = var1;
  104.       } else {
  105.          super.setBackground(var1);
  106.       }
  107.    }
  108.  
  109.    public synchronized int getSelectionStart() {
  110.       TextComponentPeer var1 = (TextComponentPeer)super.peer;
  111.       if (var1 != null) {
  112.          this.selectionStart = var1.getSelectionStart();
  113.       }
  114.  
  115.       return this.selectionStart;
  116.    }
  117.  
  118.    public synchronized void setSelectionStart(int var1) {
  119.       this.select(var1, this.getSelectionEnd());
  120.    }
  121.  
  122.    public synchronized int getSelectionEnd() {
  123.       TextComponentPeer var1 = (TextComponentPeer)super.peer;
  124.       if (var1 != null) {
  125.          this.selectionEnd = var1.getSelectionEnd();
  126.       }
  127.  
  128.       return this.selectionEnd;
  129.    }
  130.  
  131.    public synchronized void setSelectionEnd(int var1) {
  132.       this.select(this.getSelectionStart(), var1);
  133.    }
  134.  
  135.    public synchronized void select(int var1, int var2) {
  136.       String var3 = this.getText();
  137.       if (var1 < 0) {
  138.          var1 = 0;
  139.       }
  140.  
  141.       if (var1 > var3.length()) {
  142.          var1 = var3.length();
  143.       }
  144.  
  145.       if (var2 > var3.length()) {
  146.          var2 = var3.length();
  147.       }
  148.  
  149.       if (var2 < var1) {
  150.          var2 = var1;
  151.       }
  152.  
  153.       this.selectionStart = var1;
  154.       this.selectionEnd = var2;
  155.       TextComponentPeer var4 = (TextComponentPeer)super.peer;
  156.       if (var4 != null) {
  157.          var4.select(var1, var2);
  158.       }
  159.  
  160.    }
  161.  
  162.    public synchronized void selectAll() {
  163.       String var1 = this.getText();
  164.       this.selectionStart = 0;
  165.       this.selectionEnd = this.getText().length();
  166.       TextComponentPeer var2 = (TextComponentPeer)super.peer;
  167.       if (var2 != null) {
  168.          var2.select(this.selectionStart, this.selectionEnd);
  169.       }
  170.  
  171.    }
  172.  
  173.    public synchronized void setCaretPosition(int var1) {
  174.       if (var1 < 0) {
  175.          throw new IllegalArgumentException("position less than zero.");
  176.       } else {
  177.          int var2 = this.getText().length();
  178.          if (var1 > var2) {
  179.             var1 = var2;
  180.          }
  181.  
  182.          TextComponentPeer var3 = (TextComponentPeer)super.peer;
  183.          if (var3 != null) {
  184.             var3.setCaretPosition(var1);
  185.          } else {
  186.             throw new IllegalComponentStateException("Cannot set caret position until after the peer has been created");
  187.          }
  188.       }
  189.    }
  190.  
  191.    public synchronized int getCaretPosition() {
  192.       TextComponentPeer var1 = (TextComponentPeer)super.peer;
  193.       int var2 = 0;
  194.       if (var1 != null) {
  195.          var2 = var1.getCaretPosition();
  196.       }
  197.  
  198.       return var2;
  199.    }
  200.  
  201.    public synchronized void addTextListener(TextListener var1) {
  202.       if (var1 != null) {
  203.          this.textListener = AWTEventMulticaster.add(this.textListener, var1);
  204.          super.newEventsOnly = true;
  205.       }
  206.    }
  207.  
  208.    public synchronized void removeTextListener(TextListener var1) {
  209.       if (var1 != null) {
  210.          this.textListener = AWTEventMulticaster.remove(this.textListener, var1);
  211.       }
  212.    }
  213.  
  214.    public EventListener[] getListeners(Class var1) {
  215.       Object var2 = null;
  216.       if (var1 == (class$java$awt$event$TextListener == null ? (class$java$awt$event$TextListener = class$("java.awt.event.TextListener")) : class$java$awt$event$TextListener)) {
  217.          TextListener var3 = this.textListener;
  218.          return AWTEventMulticaster.getListeners(var3, var1);
  219.       } else {
  220.          return super.getListeners(var1);
  221.       }
  222.    }
  223.  
  224.    boolean eventEnabled(AWTEvent var1) {
  225.       if (var1.id == 900) {
  226.          return (super.eventMask & 1024L) != 0L || this.textListener != null;
  227.       } else {
  228.          return super.eventEnabled(var1);
  229.       }
  230.    }
  231.  
  232.    protected void processEvent(AWTEvent var1) {
  233.       if (var1 instanceof TextEvent) {
  234.          this.processTextEvent((TextEvent)var1);
  235.       } else {
  236.          super.processEvent(var1);
  237.       }
  238.    }
  239.  
  240.    protected void processTextEvent(TextEvent var1) {
  241.       if (this.textListener != null) {
  242.          int var2 = ((AWTEvent)var1).getID();
  243.          switch (var2) {
  244.             case 900:
  245.                this.textListener.textValueChanged(var1);
  246.          }
  247.       }
  248.  
  249.    }
  250.  
  251.    protected String paramString() {
  252.       String var1 = super.paramString() + ",text=" + this.getText();
  253.       if (this.editable) {
  254.          var1 = var1 + ",editable";
  255.       }
  256.  
  257.       return var1 + ",selection=" + this.getSelectionStart() + "-" + this.getSelectionEnd();
  258.    }
  259.  
  260.    private void checkSystemClipboardAccess() {
  261.       this.canAccessClipboard = true;
  262.       SecurityManager var1 = System.getSecurityManager();
  263.       if (var1 != null) {
  264.          try {
  265.             var1.checkSystemClipboardAccess();
  266.          } catch (SecurityException var3) {
  267.             this.canAccessClipboard = false;
  268.          }
  269.       }
  270.  
  271.    }
  272.  
  273.    private void writeObject(ObjectOutputStream var1) throws IOException {
  274.       TextComponentPeer var2 = (TextComponentPeer)super.peer;
  275.       if (var2 != null) {
  276.          this.text = var2.getText();
  277.          this.selectionStart = var2.getSelectionStart();
  278.          this.selectionEnd = var2.getSelectionEnd();
  279.       }
  280.  
  281.       var1.defaultWriteObject();
  282.       AWTEventMulticaster.save(var1, "textL", this.textListener);
  283.       var1.writeObject((Object)null);
  284.    }
  285.  
  286.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  287.       var1.defaultReadObject();
  288.       this.text = this.text != null ? this.text : "";
  289.       this.select(this.selectionStart, this.selectionEnd);
  290.  
  291.       Object var2;
  292.       while(null != (var2 = var1.readObject())) {
  293.          String var3 = ((String)var2).intern();
  294.          if ("textL" == var3) {
  295.             this.addTextListener((TextListener)var1.readObject());
  296.          } else {
  297.             var1.readObject();
  298.          }
  299.       }
  300.  
  301.       this.enableInputMethodsIfNecessary();
  302.       this.checkSystemClipboardAccess();
  303.    }
  304.  
  305.    int getIndexAtPoint(Point var1) {
  306.       return -1;
  307.    }
  308.  
  309.    Rectangle getCharacterBounds(int var1) {
  310.       return null;
  311.    }
  312.  
  313.    public AccessibleContext getAccessibleContext() {
  314.       if (super.accessibleContext == null) {
  315.          super.accessibleContext = new AccessibleAWTTextComponent(this);
  316.       }
  317.  
  318.       return super.accessibleContext;
  319.    }
  320.  
  321.    // $FF: synthetic method
  322.    static Class class$(String var0) {
  323.       try {
  324.          return Class.forName(var0);
  325.       } catch (ClassNotFoundException var2) {
  326.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  327.       }
  328.    }
  329. }
  330.