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

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.Event;
  5. import java.awt.FontMetrics;
  6. import java.awt.TextComponent;
  7. import java.awt.TextField;
  8. import java.awt.peer.TextFieldPeer;
  9.  
  10. public class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
  11.    native void create(WComponentPeer var1);
  12.  
  13.    void initialize() {
  14.       TextField txt = (TextField)super.target;
  15.       ((WTextComponentPeer)this).setText(((TextComponent)txt).getText());
  16.       if (txt.echoCharIsSet()) {
  17.          this.setEchoCharacter(txt.getEchoChar());
  18.       }
  19.  
  20.       ((WTextComponentPeer)this).select(((TextComponent)txt).getSelectionStart(), ((TextComponent)txt).getSelectionEnd());
  21.       ((WTextComponentPeer)this).setEditable(((TextComponent)txt).isEditable());
  22.       super.initialize();
  23.    }
  24.  
  25.    public WTextFieldPeer(TextField target) {
  26.       super(target);
  27.    }
  28.  
  29.    public native void setEchoCharacter(char var1);
  30.  
  31.    public Dimension preferredSize(int cols) {
  32.       return this.minimumSize(cols);
  33.    }
  34.  
  35.    public Dimension minimumSize(int cols) {
  36.       FontMetrics fm = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
  37.       return new Dimension(fm.charWidth('0') * cols + 20, fm.getHeight() + 8);
  38.    }
  39.  
  40.    public Dimension minimumSize() {
  41.       FontMetrics fm = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
  42.       return new Dimension(fm.stringWidth(((TextField)super.target).getText()) + 20, fm.getHeight() + 8);
  43.    }
  44.  
  45.    public void handleAction(long time, int msgData) {
  46.       super.target.postEvent(new Event(super.target, 1001, ((TextField)super.target).getText()));
  47.    }
  48. }
  49.