الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع لوحة المفاتيح للمبتدئين

بدأه الزاااااحف في 2 فبراير 2009 · 2 رد · 1,942 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

اخواني انا استفدت من هذا المنتدى الكثير لكن للاسف مشاغل الدراسه تجبرني على عدم رد هذا الجميل لهذا المنتدى الرائع

هذا الكود فيه التحكم بتحويل لغة النظام + اللعب بالكيبورد مثلا تطبع 9 يطبع لك 0 - تطبع 8 يطبع لك 1 وهكذا واشياء ثانيه

انا متاكد انها قد تفيد البعض

اقرا الكود بعنايه لتستفيد منه

انا مشغول جدا الان ولي عوده وشرحه بالتفصيل الممل

  1. package HW3;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import sun.audio.AudioPlayer;
  7. import sun.audio.AudioStream;
  8. import java.awt.BorderLayout;
  9. import java.awt.ComponentOrientation;
  10. import java.awt.FlowLayout;
  11. import java.awt.Toolkit;
  12. import java.awt.event.KeyEvent;
  13. import java.awt.event.KeyListener;
  14. import java.awt.event.TextEvent;
  15. import java.awt.event.TextListener;
  16. import java.util.Locale;
  17.  
  18. import javax.swing.JFrame;
  19. import javax.swing.JLabel;
  20. import javax.swing.JPanel;
  21. import javax.swing.JTextArea;
  22. import javax.swing.KeyStroke;
  23. import javax.swing.MenuSelectionManager;
  24.  
  25.  
  26.  
  27. public class main extends JFrame implements KeyListener{
  28. int i=0;
  29. JTextArea textarea=new JTextArea(30,30);
  30. KeyEvent k;
  31. MenuSelectionManager m=new MenuSelectionManager();
  32. ComponentOrientation cmp;
  33. JPanel pnl=new JPanel();
  34. JPanel pnl2=new JPanel();
  35. JLabel LabelLanguage=new JLabel("Here the Language");
  36. int KeyCode;
  37. boolean flag=true;
  38. String Lang;
  39.  
  40. public boolean isCapsLockON(){
  41. return (Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
  42. }
  43.  
  44. public String ChangeLanguage(String Language){
  45. Locale[] locales = Locale.getAvailableLocales();
  46. for (Locale l : locales){
  47. if ( l.getLanguage() == Language){
  48. getInputContext().selectInputMethod(l);
  49. }
  50. }
  51. if(Language=="ar"){///Sound
  52. LabelLanguage.setText("اللغة العربية");
  53. }
  54. else if(Language=="en"){//Sound
  55. LabelLanguage.setText("English");
  56. }
  57. return Language;
  58.  
  59. }
  60.  
  61. public String IntiLang(String Language){
  62. Locale[] locales = Locale.getAvailableLocales();
  63. for (Locale l : locales){
  64. if ( l.getLanguage() == Language){
  65. getInputContext().selectInputMethod(l);
  66. }
  67. }
  68. if(Language=="ar")
  69. LabelLanguage.setText("اللغة العربية");
  70. else if(Language=="en")
  71. LabelLanguage.setText("English");
  72. return Language;
  73.  
  74. }
  75.  
  76.  
  77. public main(){
  78. Lang=IntiLang("ar");
  79. pnl.setLayout(new FlowLayout());
  80. pnl2.setLayout(new FlowLayout());
  81. setLayout(new BorderLayout());
  82. textarea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
  83. textarea.setText(" ");
  84. textarea.addKeyListener(this);
  85. pnl.add(textarea);
  86. pnl2.add(LabelLanguage);
  87. add(pnl,BorderLayout.CENTER);
  88. add(pnl2,BorderLayout.SOUTH);
  89.  
  90.  
  91. }
  92. /**
  93. * @param args
  94. */
  95. public static void main(String[] args) {
  96. main m=new main();
  97. m.setDefaultCloseOperation(main.EXIT_ON_CLOSE);
  98. m.setSize(350, 100);
  99. m.setVisible(true);
  100.  
  101.  
  102.  
  103.  
  104. System.out.println("The program runing");
  105.  
  106. //switch()
  107. //KeyEvent.VK_0
  108.  
  109. }
  110. @Override
  111. public void keyPressed(KeyEvent k1) {
  112. //convert from Right to Left and Left to Right
  113. if(k1.getKeyCode()==114){
  114. cmp=textarea.getComponentOrientation();
  115. if(cmp==ComponentOrientation.RIGHT_TO_LEFT)
  116. textarea.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
  117. else
  118. textarea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
  119. }
  120. // k1.setKeyChar('أ');
  121. else if(k1.getKeyCode()==k1.VK_F1){
  122. Lang=ChangeLanguage("en");
  123. }
  124. else if(k1.getKeyCode()==k1.VK_F2){
  125. Lang=ChangeLanguage("ar");
  126. }
  127.  
  128. System.out.println("Capse Luck Sataes: "+isCapsL
    ockON());
  129.  
  130.  
  131. if(Lang=="ar"){
  132. // String s="",upper;
  133. // upper=s.toUpperCase();
  134.  
  135. String keytext;
  136. KeyCode=k1.getKeyCode();
  137. int keycode=KeyCode;
  138. keytext=k1.getKeyText(keycode);
  139. char cc=k1.getKeyChar();
  140. System.out.println("The Key Char is: "+cc);
  141. char c='أ';
  142. char c2;
  143. System.out.println("Key Pressed");
  144. c2=k1.getKeyChar();
  145. System.out.println("the char: "+c2);
  146. if(keycode==66){
  147. if(isCapsLockON())///////////
  148. textarea.append("لآ");
  149. else if(k1.isShiftDown())
  150. textarea.append("لآ");
  151. else
  152. textarea.append("ال");
  153.  
  154. }
  155. else if(k1.getKeyCode()==71){
  156. String sUpper;
  157. if(k1.isShiftDown())
  158. textarea.append("أل");
  159. else if(isCapsLockON()){
  160. sUpper="أل";
  161. textarea.append(sUpper);
  162. }
  163. else
  164. textarea.append(k1.getKeyChar()+"");
  165. }
  166. ///////Start
  167.  
  168. ////End
  169. else{
  170. String sUpper=k1.getKeyChar()+"";
  171.  
  172. if(!k1.isActionKey()&&!(k1.getKeyCode()==8)&&!(k1.getKeyCode()==k1.VK_BACK_SPACE)&&!(k1.getK
    eyCode()==k1.VK_ALT)&&!(k1.getKeyCode()==k1.VK_SHIFT)&&!(k1.getKeyCode()==k1.VK_DELETE)&&!(k1.g
    etKeyCode()==k1.VK_CONTROL)){
  173. System.out.println("The kkkkkkkkkkkkkkkkkkk: "+k1.getKeyChar());
  174. if(!(k1.getKeyChar()=='ظ'&&!flag)&&!(k1.getKeyCode()==61)){
  175. if(isCapsLockON()){
  176.  
  177. if(k1.getKeyCode()==72)
  178. sUpper="أ";
  179. textarea.append(sUpper);
  180. }
  181. else
  182. textarea.append(k1.getKeyChar()+"");
  183. }
  184. }
  185. flag=false;
  186. }
  187.  
  188. if(k1.isActionKey())
  189. System.out.println("is AAAAAAAAAAAAAAAAAAAAAAAAction key");
  190.  
  191. }
  192.  
  193. else if(Lang=="en"){
  194.  
  195. if(!k1.isActionKey()&&!(k1.getKeyCode()==8)&&!(k1.getKeyCode()==k1.VK_BACK_SPACE)&&!(k1.getK
    eyCode()==k1.VK_ALT)&&!(k1.getKeyCode()==k1.VK_SHIFT)&&!(k1.getKeyCode()==k1.VK_DELETE)&&!(k1.g
    etKeyCode()==k1.VK_CONTROL)){
  196. System.out.println("The kkkkkkkkkkkkkkkkkkk: "+k1.getKeyChar());
  197. if((k1.getKeyCode()==k1.VK_SPACE)){
  198. textarea.append(k1.getKeyChar()+"");
  199. }
  200. else {
  201. String SChar,SNumber;
  202.  
  203. System.out.println("Number ASCII Code is--------------------------------------------------
    --------------------->"+(int)k1.getKeyChar());
  204.  
  205. ///in case was number
  206. if((k1.getKeyCode()==k1.VK_0)||(k1.getKeyCode()==k1.VK_1)||(k1.getKeyCode()==k1.VK_2)||(k1
    .getKeyCode()==k1.VK_3)||(k1.getKeyCode()==k1.VK_4)||(k1.getKeyCode()==k1.VK_5)||(k1.getKeyCode
    ()==k1.VK_6)||(k1.getKeyCode()==k1.VK_7)||(k1.getKeyCode()==k1.VK_8)||(k1.getKeyCode()==k1.VK_9
    )){
  207. /// B to A - D to C ...etc
  208. // SNumber=(char)((int)k1.getKeyChar()-9)+"";
  209. SNumber=(k1.getKeyChar()-'9')+"";
  210. textarea.append(SNumber);
  211. }
  212.  
  213. else{
  214. //Change Numbers
  215. SChar=(char)((int)k1.getKeyChar()-1)+""; //incorrect rule
  216. System.out.println((char)((int)k1.getKeyChar()-1));
  217. textarea.append(SChar);
  218. }
  219. }
  220. }
  221. }
  222. // k1.setKeyChar©;
  223. // if(k1.getKeyCode()==k1.VK_A)
  224. }
  225. @Override
  226. public void keyReleased(KeyEvent k2) {
  227. // k2.setKeyChar('أ');
  228. System.out.println("Key Released");
  229. System.out.println("the char: "+k2.getKeyChar());
  230. System.out.println("the Key Code: "+k2.getKeyCode());
  231. flag=true;
  232. }
  233. @Override
  234. public void keyTyped(KeyEvent k3) {
  235. // if(KeyCode==66)
  236. k3.consume();
  237. // System.out.println("Key Typed");
  238. // k3.setKeyChar('أ');
  239.  
  240. // k3.setKeyChar('أ');
  241. System.out.println("the char: "+k3.getKeyChar());
  242. System.out.println("the Key Code: "+k3.getKeyCode());
  243. char c='أ';
  244.  
  245. // if(k3.getKeyCode()==k3.VK_A)
  246. // textarea.append(c+"");
  247.  
  248. }
  249.  
  250.  
  251. }
  252.  
  253.  

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 28 فبراير 2009 في 23:55

#2
//لتغير اللغة الي العربية

Locale[] locales = Locale.getAvailableLocales();

//اذا كانت اللغة لليمن

txt.getInputContext().selectInputMethod(locales [17]);

//اذا كانت اللغة للسعودية

txt.getInputContext().selectInputMethod(locales [12]);

//او ضع تسلسل اللغة الموجودة على النظام

//لتغير اللغة الي الانجليزية

Locale[] locales = Locale.getAvailableLocales();

//اذا كانت اللغة لليمن

txt.getInputContext().selectInputMethod(locales.US);

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 28 فبراير 2009 في 23:45 — السبب: إضافة وسم الشيفرة code

#3

شكراً لك على المشاركة الجميلة أخ زاحف

وسيكون أجمل لو وضعت تعليقات بسيطة أمام الجمل المهمة

وشكراُ للأخ superamh على المشاركة الجميلة

بإذن الله سأضيف الموضوع إلى قائمة المواضيع المميزة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة