我有一个包含JTextFields的表单,其中一些表单专用于法语,另一些表示阿拉伯语。 我想从一种语言切换到另一种,而无需按alt + shift键。 解决方案的任何帮助将不胜感激。谢谢,在JTextFields中从法语切换到阿拉伯语
1
A
回答
2
艾默里克感谢您的回答,但我找到了解决问题的办法,这是我如何解决这个问题:
public void Arabe(JTextField txt) {
txt.getInputContext().selectInputMethod(new Locale("ar", "SA"));
txt.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
}
public void Français(JTextField txt) {
txt.getInputContext().selectInputMethod(new Locale("fr","FR"));
txt.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
}
private void txt1_FocusGained(java.awt.event.FocusEvent evt) {
Arabe(my_textfields1);
}
private void txt2_FocusGained(java.awt.event.FocusEvent evt) {
Français(mytextfields2);
}
0
我明白这个问题的方式是,你想要一些特定的文本字段是阿拉伯文(从右到左+阿拉伯字符)和其他法文。
如果你的主要问题是避免用户按ALT + SHIT,只是让你的程序做了他:)
这只是让你开始一个例子(如果你没有发现任何解决方案还):
public class Test {
/**
* This method will change the keyboard layout so that if the user has 2 languages
* installed on his computer, it will switch between the 2
* (tested with french and english)
*/
private static void changeLang() {
Robot robot;
try {
robot = new Robot();
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_ALT);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
JFrame f = new JFrame();
JTextField arabicTextField = new JTextField();
JTextField frenchTextField = new JTextField();
f.add(frenchTextField, BorderLayout.NORTH);
f.add(arabicTextField, BorderLayout.SOUTH);
frenchTextField.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
changeLang();
}
});
arabicTextField.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
changeLang();
}
});
arabicTextField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
相关问题
- 1. 将英语转换为阿拉伯语
- 2. Android.Speech.TextToSpeech阿拉伯语语言
- 3. 用阿拉伯语
- 4. 文本到阿拉伯语的语音
- 5. 如何将语言从英语转换为阿拉伯语?
- 6. 从拉丁语(英语,德语)到阿拉伯语的语音翻译
- 7. 阿拉伯语罗马转换器:
- 8. preg替换为阿拉伯语
- 9. 从右到左语言的网站(阿拉伯语,希伯来语)
- 10. Sinch阿拉伯语消息
- 11. 阿拉伯语网址
- 12. 阿拉伯语的WebRequest C#
- 13. GAE阿拉伯语支持
- 14. 编码阿拉伯语proplem
- 15. Odoo阿拉伯语翻译。
- 16. 阿拉伯语meta标签
- 17. 阿拉伯语iText的
- 18. Android阿拉伯语言
- 19. canvas.drawtext阿拉伯语翻转
- 20. 对阿拉伯语字数
- 21. php:in_array()与阿拉伯语
- 22. Spring MVC的阿拉伯语
- 23. 阿拉伯语文本框
- 24. GWT阿拉伯语渲染
- 25. 文本到语音转换为阿拉伯语
- 26. 打印1当切换日期为阿拉伯语
- 27. 如何在阿拉伯语中的UILabel
- 28. 在ReportLab中使用阿拉伯语(RTL)
- 29. 创建阿拉伯语语料库
- 30. 其他语言如阿拉伯语CoreNLP
不太明白的问题,所以盲目拍摄:myTextFiel d.setLocale(...)?还是关于如何将该操作分配给keyStroke?如果是这样,看看KeyBindings(在swing标签中引用的教程中) – kleopatra 2012-08-13 06:36:50
我想设置一个Jtextfield的语言环境,我使用这个代码,但它不起作用:// private void issmMouseClicked(java.awt。 event.MouseEvent evt){Locale l = new Locale(“ar”); mytextfield.setLocale(l); mytextfield.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); } – aoulhent 2012-08-13 20:46:22