我有一個包含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. 英語和阿拉伯語語言切換單BB 10級聯
- 3. 將英語轉換爲阿拉伯語
- 4. Android.Speech.TextToSpeech阿拉伯語語言
- 5. 從android到json到mysql阿拉伯語
- 6. 用阿拉伯語
- 7. 文本到阿拉伯語的語音
- 8. 從perl插入阿拉伯語到mysql
- 9. 如何將語言從英語轉換爲阿拉伯語?
- 10. 阿拉伯語中的鈦
- 11. 從拉丁語(英語,德語)到阿拉伯語的語音翻譯
- 12. 轉換「???? ??????」以阿拉伯語言
- 13. preg替換爲阿拉伯語
- 14. Word 2007阿拉伯語宏替換
- 15. 阿拉伯語羅馬轉換器:
- 16. 從右到左語言的網站(阿拉伯語,希伯來語)
- 17. 從右到左語言的頁面順序(阿拉伯語,希伯來語)
- 18. Solr的阿拉伯語
- 19. MonoTouch.Dialog:阿拉伯語元素
- 20. 阿拉伯語文本框
- 21. Solr阿拉伯語搜索
- 22. 阿拉伯語蝦寶石
- 23. Android阿拉伯語言
- 24. Spring MVC的阿拉伯語
- 25. GWT阿拉伯語渲染
- 26. 阿拉伯語meta標籤
- 27. 阿拉伯語iText的
- 28. 阿拉伯語的WebRequest C#
- 29. GAE阿拉伯語支持
- 30. canvas.drawtext阿拉伯語翻轉
不太明白的問題,所以盲目拍攝: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