14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26
27 package sun.lwawt;
28
29 import java.awt.Dimension;
30 import java.awt.FontMetrics;
31 import java.awt.Insets;
32 import java.awt.SystemColor;
33 import java.awt.TextComponent;
34 import java.awt.event.TextEvent;
35 import java.awt.event.InputMethodListener;
36 import java.awt.event.InputMethodEvent;
37 import java.awt.im.InputMethodRequests;
38 import java.awt.peer.TextComponentPeer;
39 import sun.awt.AWTAccessor;
40
41 import javax.swing.JComponent;
42 import javax.swing.event.DocumentEvent;
43 import javax.swing.event.DocumentListener;
44 import javax.swing.text.Document;
45 import javax.swing.text.JTextComponent;
46
47 abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent>
48 extends LWComponentPeer<T, D>
49 implements DocumentListener, TextComponentPeer, InputMethodListener {
50
51 /**
52 * Character with reasonable value between the minimum width and maximum.
53 */
193 revalidate();
194 }
195 }
196
197 @Override
198 public final void changedUpdate(final DocumentEvent e) {
199 sendTextEvent(e);
200 }
201
202 @Override
203 public final void insertUpdate(final DocumentEvent e) {
204 sendTextEvent(e);
205 }
206
207 @Override
208 public final void removeUpdate(final DocumentEvent e) {
209 sendTextEvent(e);
210 }
211
212 @Override
213 public void inputMethodTextChanged(InputMethodEvent event) {
214 synchronized (getDelegateLock()) {
215 AWTAccessor.getComponentAccessor().processEvent(getTextComponent(), event);
216 }
217 }
218
219 @Override
220 public void caretPositionChanged(InputMethodEvent event) {
221 synchronized (getDelegateLock()) {
222 AWTAccessor.getComponentAccessor().processEvent(getTextComponent(), event);
223 }
224 }
225 }
|
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26
27 package sun.lwawt;
28
29 import java.awt.Dimension;
30 import java.awt.FontMetrics;
31 import java.awt.Insets;
32 import java.awt.SystemColor;
33 import java.awt.TextComponent;
34 import java.awt.event.FocusEvent;
35 import java.awt.event.TextEvent;
36 import java.awt.event.InputMethodListener;
37 import java.awt.event.InputMethodEvent;
38 import java.awt.im.InputMethodRequests;
39 import java.awt.peer.TextComponentPeer;
40 import sun.awt.AWTAccessor;
41
42 import javax.swing.JComponent;
43 import javax.swing.event.DocumentEvent;
44 import javax.swing.event.DocumentListener;
45 import javax.swing.text.Document;
46 import javax.swing.text.JTextComponent;
47
48 abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent>
49 extends LWComponentPeer<T, D>
50 implements DocumentListener, TextComponentPeer, InputMethodListener {
51
52 /**
53 * Character with reasonable value between the minimum width and maximum.
54 */
194 revalidate();
195 }
196 }
197
198 @Override
199 public final void changedUpdate(final DocumentEvent e) {
200 sendTextEvent(e);
201 }
202
203 @Override
204 public final void insertUpdate(final DocumentEvent e) {
205 sendTextEvent(e);
206 }
207
208 @Override
209 public final void removeUpdate(final DocumentEvent e) {
210 sendTextEvent(e);
211 }
212
213 @Override
214 public final void inputMethodTextChanged(final InputMethodEvent event) {
215 synchronized (getDelegateLock()) {
216 AWTAccessor.getComponentAccessor().processEvent(getTextComponent(), event);
217 }
218 }
219
220 @Override
221 public final void caretPositionChanged(final InputMethodEvent event) {
222 synchronized (getDelegateLock()) {
223 AWTAccessor.getComponentAccessor().processEvent(getTextComponent(), event);
224 }
225 }
226
227 /**
228 * Restoring native behavior. We should sets the selection range to zero,
229 * when component lost its focus.
230 *
231 * @param e the focus event
232 */
233 @Override
234 protected final void handleJavaFocusEvent(final FocusEvent e) {
235 if (e.getID() == FocusEvent.FOCUS_LOST) {
236 // In order to de-select the selection
237 setCaretPosition(getCaretPosition());
238 }
239 super.handleJavaFocusEvent(e);
240 }
241 }
|