2012-02-20 4 views
1

これは私のアプレットJAppletのは - アルファベットは許されません

KeyListener keyListener = new KeyListener() 
{ 
    public void keyPressed(KeyEvent keyEvent) 
    { 
     validate valid=new validate(); 
     valid.errorMessage(txt_district_id, keyEvent); 
    } 

    public void keyReleased(KeyEvent keyEvent) 
    {  
    } 

    public void keyTyped(KeyEvent keyEvent) 
    {  
    } 

}; 
txt_district_id.addKeyListener(keyListener); 

をして検証クラスのコード内に記述された私のコードは、

public class validate 
{ 
    public String errorMessage(KeyEvent keyEvent,JTextField txt) 
    { 
     int keyCode = keyEvent.getKeyCode(); 
     String keyText = KeyEvent.getKeyText(keyCode); 
     //msg.setText(title + " : " + keyText + "/" + keyEvent.getKeyChar()); 
     if(keyCode > 47 && keyCode < 58) 
     { 
      txt.setEditable(true); 
     } 
     else 
     { 
      txt.setEditable(false); 
      return "Only Numeric Value Accepted"; 
     } 
    } 
} 

すべてが正常に動作しているが、問題がありますユーザーがアルファベットを入力するたびに、テキストフィールドは無効になり、それが私の問題です。つまり、アルファベットは入力できず、テキストフィールドはどのような場合でも有効にする必要があります。前もって感謝します。!! JTextComponents内部の変更、

  • KeyListenerを使用しないでくださいを聞くための

  • +0

    1を使用)、一貫したを使用してくださいコードブロックの論理インデント。 2)すぐにより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 –

    答えて

    2
    1. 使用DocumentListener、このListenerSwing JComponentsのために、先史時代のAWTコンポーネントのために指定されている(JAppletKeyBindings
    +0

    KeyBindingsの例です。これは私の問題を参照することができます。入力がアルファベットかどうかを確認します。 –

    +0

    DocumentListenerを使用すると、JTextComponentsのKeyBindingsについて考えるのを忘れてしまった – mKorbel

    +0

    KeyBindingsのヘルプが見つかりました。http://stackoverflow.com/questions/7976209/using-keybinding-to-get-keycodeそれで、私の問題を解決します。 –