[Java]
Package com. han;
Import java. awt. Container;
Import java. awt. FlowLayout;
Import java. awt. event. KeyAdapter;
Import java. awt. event. KeyEvent;
Import javax. swing. JFrame;
Import javax. swing. JLabel;
Import javax. swing. JOptionPane;
Import javax. swing. JTextField;
/**
* Keyboard event listening (2) modification: Use the listening keyboard event instead of modifying the JTextField
* @ Author HAN
*
*/
Public class KeyEvent_2_Modified extends JFrame {
/**
*
*/
Private static final long serialVersionUID =-3184139070064852786L;
Public KeyEvent_2_Modified (){
// TODO Auto-generated constructor stub
Final Container container = getContentPane ();
Container. setLayout (new FlowLayout ());
JLabel label = new JLabel ("text box that allows only numbers to be entered :");
Final JTextField textField = new JTextField (10 );
Container. add (label );
Container. add (textField );
TextField. addKeyListener (new KeyAdapter (){
@ Override
Public void keyPressed (KeyEvent e) {// There is a time difference between keyPressed and keyReleased !!
// TODO Auto-generated method stub
If (e. getKeyCode () = KeyEvent. VK_ENTER ){
Char [] text = textField. getText (). toCharArray ();
For (char ch: text ){
If (! Character. isDigit (ch )){
// TextField. removeKeyListener (this );
JOptionPane. showMessageDialog (container,
"Your input contains non-digit characters! ",
"Warning", JOptionPane. WARNING_MESSAGE );
TextField. setText ("");
// TextField. addKeyListener (this );
Return;
}
}
}
}
});
}
/**
* @ Param args
*/
Public static void main (String [] args ){
// TODO Auto-generated method stub
KeyEvent_2_Modified frame = new KeyEvent_2_Modified ();
Frame. setTitle ("text box that allows only numbers to be entered (2 )");
Frame. pack ();
Frame. setVisible (true );
Frame. setdefaclocloseoperation (JFrame. EXIT_ON_CLOSE );
}
}
Package com. han;
Import java. awt. Container;
Import java. awt. FlowLayout;
Import java. awt. event. KeyAdapter;
Import java. awt. event. KeyEvent;
Import javax. swing. JFrame;
Import javax. swing. JLabel;
Import javax. swing. JOptionPane;
Import javax. swing. JTextField;
/**
* Keyboard event listening (2) modification: Use the listening keyboard event instead of modifying the JTextField
* @ Author HAN
*
*/
Public class KeyEvent_2_Modified extends JFrame {
/**
*
*/
Private static final long serialVersionUID =-3184139070064852786L;
Public KeyEvent_2_Modified (){
// TODO Auto-generated constructor stub
Final Container container = getContentPane ();
Container. setLayout (new FlowLayout ());
JLabel label = new JLabel ("text box that allows only numbers to be entered :");
Final JTextField textField = new JTextField (10 );
Container. add (label); www.2cto.com
Container. add (textField );
TextField. addKeyListener (new KeyAdapter (){
@ Override
Public void keyPressed (KeyEvent e) {// There is a time difference between keyPressed and keyReleased !!
// TODO Auto-generated method stub
If (e. getKeyCode () = KeyEvent. VK_ENTER ){
Char [] text = textField. getText (). toCharArray ();
For (char ch: text ){
If (! Character. isDigit (ch )){
// TextField. removeKeyListener (this );
JOptionPane. showMessageDialog (container,
"Your input contains non-digit characters! ",
"Warning", JOptionPane. WARNING_MESSAGE );
TextField. setText ("");
// TextField. addKeyListener (this );
Return;
}
}
}
}
});
}
/**
* @ Param args
*/
Public static void main (String [] args ){
// TODO Auto-generated method stub
KeyEvent_2_Modified frame = new KeyEvent_2_Modified ();
Frame. setTitle ("text box that allows only numbers to be entered (2 )");
Frame. pack ();
Frame. setVisible (true );
Frame. setdefaclocloseoperation (JFrame. EXIT_ON_CLOSE );
}
}
Author: Gaowen_HAN