简单示例:2 个JTextFields
,一个用于西类牙语单词,另一个用于翻译。
有没有一种方法可以保留每个 JTextField
的键盘布局,以便用户不必来回切换?
TIA。
最佳答案
是的,此演示代码在每个文本字段中使用所选语言环境的键盘布局:
public class InputMethodTest {
public static void main(String[] args) {
final InputContext en = InputContext.getInstance();
en.selectInputMethod(Locale.UK);
final InputContext es = InputContext.getInstance();
es.selectInputMethod(new Locale("es", "ES"));
JTextArea english = new JTextArea() {
@Override
public InputContext getInputContext() {
return en;
}
};
JTextArea spanish = new JTextArea() {
@Override
public InputContext getInputContext() {
return es;
}
};
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new GridLayout());
frame.getContentPane().add(new JScrollPane(english));
frame.getContentPane().add(new JScrollPane(spanish));
frame.setSize(600, 400);
frame.setVisible(true);
}
}
在安装了 EN 和 ES 键盘布局的 Windows XP Home 上测试(通过控制面板 > 区域和语言选项 > 语言 > 详细信息...)。查看Java Input Method Framework了解更多详情。
关于java - 在 JTextfield 中保留键盘布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/834758/