56
57 import sun.awt.CausedFocusEvent;
58 import sun.awt.AWTAccessor;
59
60 public class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
61 private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XTextField");
62
63 String text;
64 XAWTTextField xtext;
65
66 boolean firstChangeSkipped;
67
68 public XTextFieldPeer(TextField target) {
69 super(target);
70 int start, end;
71 firstChangeSkipped = false;
72 text = target.getText();
73 xtext = new XAWTTextField(text,this, target.getParent());
74 xtext.getDocument().addDocumentListener(xtext);
75 xtext.setCursor(target.getCursor());
76 target.enableInputMethods(true);
77 xtext.enableInputMethods(true);
78 XToolkit.specialPeerMap.put(xtext,this);
79
80 TextField txt = (TextField) target;
81 initTextField();
82 setText(txt.getText());
83 if (txt.echoCharIsSet()) {
84 setEchoChar(txt.getEchoChar());
85 }
86 else setEchoChar((char)0);
87
88 start = txt.getSelectionStart();
89 end = txt.getSelectionEnd();
90
91 if (end > start) {
92 select(start, end);
93 }
94 // Fix for 5100200
95 // Restoring Motif behaviour
96 // Since the end position of the selected text can be greater then the length of the text,
97 // so we should set caret to max position of the text
|
56
57 import sun.awt.CausedFocusEvent;
58 import sun.awt.AWTAccessor;
59
60 public class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
61 private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XTextField");
62
63 String text;
64 XAWTTextField xtext;
65
66 boolean firstChangeSkipped;
67
68 public XTextFieldPeer(TextField target) {
69 super(target);
70 int start, end;
71 firstChangeSkipped = false;
72 text = target.getText();
73 xtext = new XAWTTextField(text,this, target.getParent());
74 xtext.getDocument().addDocumentListener(xtext);
75 xtext.setCursor(target.getCursor());
76 xtext.enableInputMethods(AWTAccessor.getComponentAccessor().areInputMethodsEnabled(target));
77 XToolkit.specialPeerMap.put(xtext,this);
78
79 TextField txt = (TextField) target;
80 initTextField();
81 setText(txt.getText());
82 if (txt.echoCharIsSet()) {
83 setEchoChar(txt.getEchoChar());
84 }
85 else setEchoChar((char)0);
86
87 start = txt.getSelectionStart();
88 end = txt.getSelectionEnd();
89
90 if (end > start) {
91 select(start, end);
92 }
93 // Fix for 5100200
94 // Restoring Motif behaviour
95 // Since the end position of the selected text can be greater then the length of the text,
96 // so we should set caret to max position of the text
|