السلام عليكــم ورحمـة الله وبركاتــه
اخواني انا استفدت من هذا المنتدى الكثير لكن للاسف مشاغل الدراسه تجبرني على عدم رد هذا الجميل لهذا المنتدى الرائع
هذا الكود فيه التحكم بتحويل لغة النظام + اللعب بالكيبورد مثلا تطبع 9 يطبع لك 0 - تطبع 8 يطبع لك 1 وهكذا واشياء ثانيه
انا متاكد انها قد تفيد البعض
اقرا الكود بعنايه لتستفيد منه
انا مشغول جدا الان ولي عوده وشرحه بالتفصيل الممل
- package HW3;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStream;
- import sun.audio.AudioPlayer;
- import sun.audio.AudioStream;
- import java.awt.BorderLayout;
- import java.awt.ComponentOrientation;
- import java.awt.FlowLayout;
- import java.awt.Toolkit;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.awt.event.TextEvent;
- import java.awt.event.TextListener;
- import java.util.Locale;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextArea;
- import javax.swing.KeyStroke;
- import javax.swing.MenuSelectionManager;
- public class main extends JFrame implements KeyListener{
- int i=0;
- JTextArea textarea=new JTextArea(30,30);
- KeyEvent k;
- MenuSelectionManager m=new MenuSelectionManager();
- ComponentOrientation cmp;
- JPanel pnl=new JPanel();
- JPanel pnl2=new JPanel();
- JLabel LabelLanguage=new JLabel("Here the Language");
- int KeyCode;
- boolean flag=true;
- String Lang;
- public boolean isCapsLockON(){
- return (Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
- }
- public String ChangeLanguage(String Language){
- Locale[] locales = Locale.getAvailableLocales();
- for (Locale l : locales){
- if ( l.getLanguage() == Language){
- getInputContext().selectInputMethod(l);
- }
- }
- if(Language=="ar"){///Sound
- LabelLanguage.setText("اللغة العربية");
- }
- else if(Language=="en"){//Sound
- LabelLanguage.setText("English");
- }
- return Language;
- }
- public String IntiLang(String Language){
- Locale[] locales = Locale.getAvailableLocales();
- for (Locale l : locales){
- if ( l.getLanguage() == Language){
- getInputContext().selectInputMethod(l);
- }
- }
- if(Language=="ar")
- LabelLanguage.setText("اللغة العربية");
- else if(Language=="en")
- LabelLanguage.setText("English");
- return Language;
- }
- public main(){
- Lang=IntiLang("ar");
- pnl.setLayout(new FlowLayout());
- pnl2.setLayout(new FlowLayout());
- setLayout(new BorderLayout());
- textarea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
- textarea.setText(" ");
- textarea.addKeyListener(this);
- pnl.add(textarea);
- pnl2.add(LabelLanguage);
- add(pnl,BorderLayout.CENTER);
- add(pnl2,BorderLayout.SOUTH);
- }
- /**
- * @param args
- */
- main m=new main();
- m.setDefaultCloseOperation(main.EXIT_ON_CLOSE);
- m.setSize(350, 100);
- m.setVisible(true);
- //switch()
- //KeyEvent.VK_0
- }
- @Override
- public void keyPressed(KeyEvent k1) {
- //convert from Right to Left and Left to Right
- if(k1.getKeyCode()==114){
- cmp=textarea.getComponentOrientation();
- if(cmp==ComponentOrientation.RIGHT_TO_LEFT)
- textarea.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
- else
- textarea.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
- }
- // k1.setKeyChar('أ');
- else if(k1.getKeyCode()==k1.VK_F1){
- Lang=ChangeLanguage("en");
- }
- else if(k1.getKeyCode()==k1.VK_F2){
- Lang=ChangeLanguage("ar");
- }
- if(Lang=="ar"){
- // String s="",upper;
- // upper=s.toUpperCase();
- String keytext;
- KeyCode=k1.getKeyCode();
- int keycode=KeyCode;
- keytext=k1.getKeyText(keycode);
- char cc=k1.getKeyChar();
- char c='أ';
- char c2;
- c2=k1.getKeyChar();
- if(keycode==66){
- if(isCapsLockON())///////////
- textarea.append("لآ");
- else if(k1.isShiftDown())
- textarea.append("لآ");
- else
- textarea.append("ال");
- }
- else if(k1.getKeyCode()==71){
- String sUpper;
- if(k1.isShiftDown())
- textarea.append("أل");
- else if(isCapsLockON()){
- sUpper="أل";
- textarea.append(sUpper);
- }
- else
- textarea.append(k1.getKeyChar()+"");
- }
- ///////Start
- ////End
- else{
- String sUpper=k1.getKeyChar()+"";
- 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)){ - if(!(k1.getKeyChar()=='ظ'&&!flag)&&!(k1.getKeyCode()==61)){
- if(isCapsLockON()){
- if(k1.getKeyCode()==72)
- sUpper="أ";
- textarea.append(sUpper);
- }
- else
- textarea.append(k1.getKeyChar()+"");
- }
- }
- flag=false;
- }
- if(k1.isActionKey())
- }
- else if(Lang=="en"){
- 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)){ - if((k1.getKeyCode()==k1.VK_SPACE)){
- textarea.append(k1.getKeyChar()+"");
- }
- else {
- String SChar,SNumber;
- System.out.println("Number ASCII Code is--------------------------------------------------
--------------------->"+(int)k1.getKeyChar()); - ///in case was number
- 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
)){ - /// B to A - D to C ...etc
- // SNumber=(char)((int)k1.getKeyChar()-9)+"";
- SNumber=(k1.getKeyChar()-'9')+"";
- textarea.append(SNumber);
- }
- else{
- //Change Numbers
- SChar=(char)((int)k1.getKeyChar()-1)+""; //incorrect rule
- textarea.append(SChar);
- }
- }
- }
- }
- // k1.setKeyChar©;
- // if(k1.getKeyCode()==k1.VK_A)
- }
- @Override
- public void keyReleased(KeyEvent k2) {
- // k2.setKeyChar('أ');
- flag=true;
- }
- @Override
- public void keyTyped(KeyEvent k3) {
- // if(KeyCode==66)
- k3.consume();
- // System.out.println("Key Typed");
- // k3.setKeyChar('أ');
- // k3.setKeyChar('أ');
- char c='أ';
- // if(k3.getKeyCode()==k3.VK_A)
- // textarea.append(c+"");
- }
- }
