home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.TextComponentPeer;
-
- public class TextComponent extends Component {
- String text;
- boolean editable = true;
- int selStart;
- int selEnd;
-
- TextComponent(String text) {
- this.text = text;
- }
-
- public synchronized void removeNotify() {
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- this.text = peer.getText();
- this.selStart = peer.getSelectionStart();
- this.selEnd = peer.getSelectionEnd();
- }
-
- super.removeNotify();
- }
-
- public void setText(String t) {
- this.text = t;
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- peer.setText(t);
- }
-
- }
-
- public String getText() {
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- this.text = peer.getText();
- }
-
- return this.text;
- }
-
- public String getSelectedText() {
- return this.getText().substring(this.getSelectionStart(), this.getSelectionEnd());
- }
-
- public boolean isEditable() {
- return this.editable;
- }
-
- public void setEditable(boolean t) {
- this.editable = t;
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- peer.setEditable(t);
- }
-
- }
-
- public int getSelectionStart() {
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- this.selStart = peer.getSelectionStart();
- }
-
- return this.selStart;
- }
-
- public int getSelectionEnd() {
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- this.selEnd = peer.getSelectionEnd();
- }
-
- return this.selEnd;
- }
-
- public void select(int selStart, int selEnd) {
- String text = this.getText();
- if (selStart < 0) {
- selStart = 0;
- }
-
- if (selEnd > text.length()) {
- selEnd = text.length();
- }
-
- if (selEnd < selStart) {
- selEnd = selStart;
- }
-
- if (selStart > selEnd) {
- selStart = selEnd;
- }
-
- this.selStart = selStart;
- this.selEnd = selEnd;
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- peer.select(selStart, selEnd);
- }
-
- }
-
- public void selectAll() {
- this.getText();
- this.selStart = 0;
- this.selEnd = this.getText().length();
- TextComponentPeer peer = (TextComponentPeer)super.peer;
- if (peer != null) {
- peer.select(this.selStart, this.selEnd);
- }
-
- }
-
- protected String paramString() {
- String str = super.paramString() + ",text=" + this.getText();
- if (this.editable) {
- str = str + ",editable";
- }
-
- return str + ",selection=" + this.getSelectionStart() + "-" + this.getSelectionEnd();
- }
- }
-