home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / 1&1 / java.z / java_301 / java / awt / TextComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-20  |  2.5 KB  |  126 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.TextComponentPeer;
  4.  
  5. public class TextComponent extends Component {
  6.    String text;
  7.    boolean editable = true;
  8.    int selStart;
  9.    int selEnd;
  10.  
  11.    TextComponent(String text) {
  12.       this.text = text;
  13.    }
  14.  
  15.    public synchronized void removeNotify() {
  16.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  17.       if (peer != null) {
  18.          this.text = peer.getText();
  19.          this.selStart = peer.getSelectionStart();
  20.          this.selEnd = peer.getSelectionEnd();
  21.       }
  22.  
  23.       super.removeNotify();
  24.    }
  25.  
  26.    public void setText(String t) {
  27.       this.text = t;
  28.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  29.       if (peer != null) {
  30.          peer.setText(t);
  31.       }
  32.  
  33.    }
  34.  
  35.    public String getText() {
  36.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  37.       if (peer != null) {
  38.          this.text = peer.getText();
  39.       }
  40.  
  41.       return this.text;
  42.    }
  43.  
  44.    public String getSelectedText() {
  45.       return this.getText().substring(this.getSelectionStart(), this.getSelectionEnd());
  46.    }
  47.  
  48.    public boolean isEditable() {
  49.       return this.editable;
  50.    }
  51.  
  52.    public void setEditable(boolean t) {
  53.       this.editable = t;
  54.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  55.       if (peer != null) {
  56.          peer.setEditable(t);
  57.       }
  58.  
  59.    }
  60.  
  61.    public int getSelectionStart() {
  62.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  63.       if (peer != null) {
  64.          this.selStart = peer.getSelectionStart();
  65.       }
  66.  
  67.       return this.selStart;
  68.    }
  69.  
  70.    public int getSelectionEnd() {
  71.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  72.       if (peer != null) {
  73.          this.selEnd = peer.getSelectionEnd();
  74.       }
  75.  
  76.       return this.selEnd;
  77.    }
  78.  
  79.    public void select(int selStart, int selEnd) {
  80.       String text = this.getText();
  81.       if (selStart < 0) {
  82.          selStart = 0;
  83.       }
  84.  
  85.       if (selEnd > text.length()) {
  86.          selEnd = text.length();
  87.       }
  88.  
  89.       if (selEnd < selStart) {
  90.          selEnd = selStart;
  91.       }
  92.  
  93.       if (selStart > selEnd) {
  94.          selStart = selEnd;
  95.       }
  96.  
  97.       this.selStart = selStart;
  98.       this.selEnd = selEnd;
  99.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  100.       if (peer != null) {
  101.          peer.select(selStart, selEnd);
  102.       }
  103.  
  104.    }
  105.  
  106.    public void selectAll() {
  107.       this.getText();
  108.       this.selStart = 0;
  109.       this.selEnd = this.getText().length();
  110.       TextComponentPeer peer = (TextComponentPeer)super.peer;
  111.       if (peer != null) {
  112.          peer.select(this.selStart, this.selEnd);
  113.       }
  114.  
  115.    }
  116.  
  117.    protected String paramString() {
  118.       String str = super.paramString() + ",text=" + this.getText();
  119.       if (this.editable) {
  120.          str = str + ",editable";
  121.       }
  122.  
  123.       return str + ",selection=" + this.getSelectionStart() + "-" + this.getSelectionEnd();
  124.    }
  125. }
  126.