mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-12 00:43:14 +00:00
7124210: [macosx] Replacing text in a TextField does generate an extra TextEvent
Reviewed-by: serb
This commit is contained in:
parent
39c1b4be34
commit
21e63eca82
@ -210,6 +210,15 @@ final class LWTextAreaPeer
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void replaceSelection(String content) {
|
||||
getDocument().removeDocumentListener(LWTextAreaPeer.this);
|
||||
super.replaceSelection(content);
|
||||
// post only one text event in this case
|
||||
postTextEvent();
|
||||
getDocument().addDocumentListener(LWTextAreaPeer.this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasFocus() {
|
||||
return getTarget().hasFocus();
|
||||
|
||||
@ -187,7 +187,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent
|
||||
}
|
||||
}
|
||||
|
||||
private void sendTextEvent(final DocumentEvent e) {
|
||||
protected final void postTextEvent() {
|
||||
postEvent(new TextEvent(getTarget(), TextEvent.TEXT_VALUE_CHANGED));
|
||||
synchronized (getDelegateLock()) {
|
||||
revalidate();
|
||||
@ -196,17 +196,17 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent
|
||||
|
||||
@Override
|
||||
public final void changedUpdate(final DocumentEvent e) {
|
||||
sendTextEvent(e);
|
||||
postTextEvent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void insertUpdate(final DocumentEvent e) {
|
||||
sendTextEvent(e);
|
||||
postTextEvent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void removeUpdate(final DocumentEvent e) {
|
||||
sendTextEvent(e);
|
||||
postTextEvent();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -95,7 +95,7 @@ final class LWTextFieldPeer
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent e) {
|
||||
postEvent(new ActionEvent(getTarget(), ActionEvent.ACTION_PERFORMED,
|
||||
getText(), e.getWhen(), e.getModifiers()));
|
||||
getText(), e.getWhen(), e.getModifiers()));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,6 +121,15 @@ final class LWTextFieldPeer
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void replaceSelection(String content) {
|
||||
getDocument().removeDocumentListener(LWTextFieldPeer.this);
|
||||
super.replaceSelection(content);
|
||||
// post only one text event in this case
|
||||
postTextEvent();
|
||||
getDocument().addDocumentListener(LWTextFieldPeer.this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasFocus() {
|
||||
return getTarget().hasFocus();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user