2011-12-21 5 views
-1

可能性の重複:
I didn't get a proper output for this code, plz send me a correct codeアルファベットの検証使用してJavaのスイング

こんにちは、私は唯一のアルファベットと以外ないを受け入れる必要があり、それを検証する必要がJTextField1に値を入力してくださいアルファベット以外の値を入力すると、JTextField1に入るべきではなく、他のキーを押すときにアルファベットを入力する必要があるので、ラベル形式のメッセージを与えるべきです。
私はあなたがJFormattedTextFieldのか、通常のJTextFieldを使用しますが、独自のDocumentFilterを割り当てることができます ===============

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class valid extends JFrame { 
    perform1 per1=new perform1(); 
    String num1="Alpha"; 
    String num2="Numeric"; 
    String num3="Alphanumeric"; 
    Container contentPane = getContentPane(); 
    JPanel jp=new JPanel(new GridLayout(2, 2)); 
    JLabel label1=new JLabel("STUDENT NAME", JLabel.LEFT); 
    JLabel label2=new JLabel("REG NO", JLabel.LEFT); 
    JTextField text1=new JTextField(15); 
    JTextField text2=new JTextField(15); 
    public valid(){ 
     text1.addKeyListener(new KeyAdapter() { 
      public void keyReleased(KeyEvent e) { 
       per1.dis(text1, e, num1); 

      } 
     }); 
     text2.addKeyListener(new KeyAdapter() { 
      public void keyReleased(KeyEvent e) { 
       per1.dis(text2, e, num2); 
      } 
     }); 
     setLayout(new FlowLayout(FlowLayout.CENTER)); 
     jp.add(label1); 
     jp.add(text1); 
     jp.add(label2); 
     jp.add(text2); 
     contentPane.add("Center", jp); 
     setSize(400, 300); 
     setVisible(true); 
    } 
    public static void main(String ar[]) 
    { 
     new valid(); 
    } 
} 
class perform1{ 
public void dis(JTextField PTxtCtrl,KeyEvent PKeyvalue,String PTempStr){ 
    JLabel error=new JLabel(); 
    //JTextField text=new JTextField(); 
    String TmpCurntStr; 
    String TmpConvStr; 
    value val = value.valueOf(PTempStr); 

    switch(val){ 
     case Alpha: 
      if((PKeyvalue.getKeyChar()>='a'&& PKeyvalue.getKeyChar()<='z')|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_DELETE)|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_BACK_SPACE)) 
      { 
      TmpCurntStr=PTxtCtrl.getText(); 
      TmpConvStr=TmpCurntStr.toUpperCase(); 
      PTxtCtrl.setText(TmpConvStr); 
      //PTxtCtrl.setEditable(true); 
      //error.setText(""); 
      }else{ 
      //PTxtCtrl.setEditable(false); 
      //error.setText("* Enter only numeric digits(0-9)"); 

      } 
      break; 
     case Numeric: 
      if((PKeyvalue.getKeyChar()>='0'&& PKeyvalue.getKeyChar()<='9')|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_DELETE)|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_BACK_SPACE)) 
      { 
      TmpCurntStr=PTxtCtrl.getText(); 
      System.out.println("hai"); 
      }else{ 
       JOptionPane.showMessageDialog(null,"Only numeric"); 
      } 
      break; 
     case Alphanumeric: 
      break; 
    } 
} 
    enum value{ 
    Alpha, 
    Numeric, 
    Alphanumeric 
} 
} 
+0

あなたの質問はありますか? – rsp

+0

全く同じ質問でもう一度試してみますか? http://stackoverflow.com/questions/8573365/i-didnt-get-a-proper-output-for-this-code-plz-send-me-a-correct-code – kleopatra

+0

とにかく(私がしなかった場合既に:-) Javaの命名規則を学んで、それらに固執してください – kleopatra

答えて

4

を使用したコードは。

+1

匿名のアップ有権者によって、私は遅すぎます。私は同じ回答を削除しました – mKorbel

+0

私の質問は、時間、jtextfieldは数字キーを入力することを受け入れることになっていない、それは赤い色の前景が "Alphaのみ受け入れる"、これは特定のJtextfieldの隣にあるラベルボックスにメッセージを与えます。私にこれを解決してください。 – arasicode

1

アルファベット以外の文字を削除する場合は、replaceAllを使用して何も置き換えないでください。例:

TmpCurntStr=PTxtCtrl.getText(); 
TmpConvStr=TmpConvStr.replaceAll("[^a-zA-Z]", ""); 
PTxtCtrl.setText(TmpConvStr); 
1

あなたがわかっていない場合は、私に知らせてください。

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class valid extends JFrame { 
    perform1 per1=new perform1(); 
    String num1="Alpha"; 
    String num2="Numeric"; 
    String num3="Alphanumeric"; 
    Container contentPane = getContentPane(); 
    JPanel jp=new JPanel(new GridLayout(2, 2)); 
    JLabel label1=new JLabel("STUDENT NAME", JLabel.LEFT); 
    JLabel label2=new JLabel("REG NO", JLabel.LEFT); 
    JTextField text1=new JTextField(15); 
    JTextField text2=new JTextField(15); 
    public valid(){ 
     text1.addKeyListener(new KeyAdapter() { 
      public void keyReleased(KeyEvent e) { 
       /** 
       * check ASCII value of character enter in text1 
       * if it not fall in alphabets then send Alphanumeric 
       * 
       */ 
       char text = e.getKeyChar(); 
       if(text >= 65 && text <= 90 || text >= 97 && text <= 122){ 
        per1.dis(text1, e, num1); 
       }else{ 
        per1.dis(text1, e, num3); 
       } 

      } 
     }); 
     text2.addKeyListener(new KeyAdapter() { 
      public void keyReleased(KeyEvent e) { 
       per1.dis(text2, e, num2); 
      } 
     }); 
     setLayout(new FlowLayout(FlowLayout.CENTER)); 
     jp.add(label1); 
     jp.add(text1); 
     jp.add(label2); 
     jp.add(text2); 
     contentPane.add("Center", jp); 
     setSize(400, 300); 
     setVisible(true); 
    } 
    public static void main(String ar[]) 
    { 
     new valid(); 
    } 
} 
class perform1{ 
public void dis(JTextField PTxtCtrl,KeyEvent PKeyvalue,String PTempStr){ 
    JLabel error=new JLabel(); 
    //JTextField text=new JTextField(); 
    String TmpCurntStr; 
    String TmpConvStr; 
    value val = value.valueOf(PTempStr); 

    switch(val){ 
     case Alpha: 
      if((PKeyvalue.getKeyChar()>='a'&& PKeyvalue.getKeyChar()<='z')|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_DELETE)|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_BACK_SPACE)) 
      { 
      TmpCurntStr=PTxtCtrl.getText(); 
      TmpConvStr=TmpCurntStr.toUpperCase(); 
      PTxtCtrl.setText(TmpConvStr); 
      //PTxtCtrl.setEditable(true); 
      //error.setText(""); 
      }else{ 
      //PTxtCtrl.setEditable(false); 
      //error.setText("* Enter only numeric digits(0-9)"); 

      } 
      break; 
     case Numeric: 
      if((PKeyvalue.getKeyChar()>='0'&& PKeyvalue.getKeyChar()<='9')|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_DELETE)|| 
      (PKeyvalue.getKeyCode()==PKeyvalue.VK_BACK_SPACE)) 
      { 
      TmpCurntStr=PTxtCtrl.getText(); 
      System.out.println("hai"); 
      }else{ 
       JOptionPane.showMessageDialog(null,"Only numeric"); 
       PTxtCtrl.setText(""); 
      } 
      break; 
     case Alphanumeric: 
//   System.err.println("check"); 
      /** 
      * if it send Alphanumeric then give a pop up message 
      */ 
      JOptionPane.showMessageDialog(null,"Only Alphabets"); 
      PTxtCtrl.setText(""); 
      break; 
    } 
} 
    enum value{ 
    Alpha, 
    Numeric, 
    Alphanumeric 
} 
} 
関連する問題