home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.FontMetrics;
- import java.awt.TextComponent;
- import java.awt.TextField;
- import java.awt.peer.TextFieldPeer;
-
- public class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
- native void create(WComponentPeer var1);
-
- void initialize() {
- TextField txt = (TextField)super.target;
- ((WTextComponentPeer)this).setText(((TextComponent)txt).getText());
- if (txt.echoCharIsSet()) {
- this.setEchoCharacter(txt.getEchoChar());
- }
-
- ((WTextComponentPeer)this).select(((TextComponent)txt).getSelectionStart(), ((TextComponent)txt).getSelectionEnd());
- ((WTextComponentPeer)this).setEditable(((TextComponent)txt).isEditable());
- super.initialize();
- }
-
- public WTextFieldPeer(TextField target) {
- super(target);
- }
-
- public native void setEchoCharacter(char var1);
-
- public Dimension preferredSize(int cols) {
- return this.minimumSize(cols);
- }
-
- public Dimension minimumSize(int cols) {
- FontMetrics fm = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
- return new Dimension(fm.charWidth('0') * cols + 20, fm.getHeight() + 8);
- }
-
- public Dimension minimumSize() {
- FontMetrics fm = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
- return new Dimension(fm.stringWidth(((TextField)super.target).getText()) + 20, fm.getHeight() + 8);
- }
-
- public void handleAction(long time, int msgData) {
- super.target.postEvent(new Event(super.target, 1001, ((TextField)super.target).getText()));
- }
- }
-