-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b147
-
windows
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8183795 | 8u161 | Dmitry Markov | P3 | Resolved | Fixed | b01 |
JDK-8169498 | 8u152 | Dmitry Markov | P3 | Resolved | Fixed | b01 |
JDK-8192536 | emb-8u161 | Dmitry Markov | P3 | Resolved | Fixed | b01 |
The issue can be reproduced using a simple program (see below):
import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.concurrent.locks.LockSupport;
public class JTextFieldWithDelayTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame();
JTextField textField = new JTextField(20);
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
LockSupport.parkNanos(1_000_000_000L);
}
});
frame.add(textField);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
});
}
}
After launching the program, perform the following steps:
1) Switch to 'Spanish (United States)' input method (with 'Latin American' keyboard layout)
2) Type the following in a text field: ' ' o - i.e. single quote two times (using [ key on US keyboard) then o character.
Expected result is ''o.
Actual result is ''ó.
import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.concurrent.locks.LockSupport;
public class JTextFieldWithDelayTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame();
JTextField textField = new JTextField(20);
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
LockSupport.parkNanos(1_000_000_000L);
}
});
frame.add(textField);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
});
}
}
After launching the program, perform the following steps:
1) Switch to 'Spanish (United States)' input method (with 'Latin American' keyboard layout)
2) Type the following in a text field: ' ' o - i.e. single quote two times (using [ key on US keyboard) then o character.
Expected result is ''o.
Actual result is ''ó.
- backported by
-
JDK-8169498 Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
-
- Resolved
-
-
JDK-8183795 Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
-
- Resolved
-
-
JDK-8192536 Diacritics input works incorrectly on Windows if Spanish (Latin American) keyboard layout is used
-
- Resolved
-