home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / sun / awt / motif / MTextFieldPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  2.3 KB  |  86 lines

  1. package sun.awt.motif;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.FontMetrics;
  7. import java.awt.TextComponent;
  8. import java.awt.TextField;
  9. import java.awt.peer.TextFieldPeer;
  10.  
  11. public class MTextFieldPeer extends MComponentPeer implements TextFieldPeer {
  12.    native void create(MComponentPeer var1);
  13.  
  14.    void initialize() {
  15.       TextField var1 = (TextField)super.target;
  16.       this.setText(((TextComponent)var1).getText());
  17.       if (var1.echoCharIsSet()) {
  18.          this.setEchoCharacter(var1.getEchoChar());
  19.       }
  20.  
  21.       this.select(((TextComponent)var1).getSelectionStart(), ((TextComponent)var1).getSelectionEnd());
  22.       this.setEditable(((TextComponent)var1).isEditable());
  23.       super.initialize();
  24.    }
  25.  
  26.    public MTextFieldPeer(TextField var1) {
  27.       super(var1);
  28.    }
  29.  
  30.    public void setEditable(boolean var1) {
  31.       this.pSetEditable(var1);
  32.       this.setBackground(super.target.getBackground());
  33.    }
  34.  
  35.    public void setBackground(Color var1) {
  36.       TextField var2 = (TextField)super.target;
  37.       if (((TextComponent)var2).isEditable()) {
  38.          var1 = var1.brighter();
  39.       }
  40.  
  41.       super.setBackground(var1);
  42.    }
  43.  
  44.    public native void pSetEditable(boolean var1);
  45.  
  46.    public native void select(int var1, int var2);
  47.  
  48.    public native int getSelectionStart();
  49.  
  50.    public native int getSelectionEnd();
  51.  
  52.    public native void setText(String var1);
  53.  
  54.    public native void dispose();
  55.  
  56.    public native String getText();
  57.  
  58.    public native void setEchoCharacter(char var1);
  59.  
  60.    public Dimension minimumSize() {
  61.       X11FontMetrics var1 = (X11FontMetrics)((MComponentPeer)this).getFontMetrics(super.target.getFont());
  62.       Dimension var2 = var1.stringExtent(((TextField)super.target).getText());
  63.       var2.width += 20;
  64.       var2.height += 15;
  65.       return var2;
  66.    }
  67.  
  68.    public Dimension preferredSize(int var1) {
  69.       return this.minimumSize(var1);
  70.    }
  71.  
  72.    public Dimension minimumSize(int var1) {
  73.       FontMetrics var2 = ((MComponentPeer)this).getFontMetrics(super.target.getFont());
  74.       return new Dimension(var2.charWidth('0') * var1 + 20, var2.getHeight() + 15);
  75.    }
  76.  
  77.    public void action() {
  78.       if (super.applet != null) {
  79.          XEvent var1 = new XEvent(new Event(super.target, 1001, ((TextField)super.target).getText()), this);
  80.          super.applet.sendEvent(var1);
  81.       } else {
  82.          super.target.postEvent(new Event(super.target, 1004, (Object)null));
  83.       }
  84.    }
  85. }
  86.