Creating Numeric TextField using KeyListener
1- Write following Code .
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JApplet;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class JNumericTextField extends JFrame implements KeyListener,CaretListener
{
JLabel label=new JLabel("Total Digits :0");
JTextField field = new JTextField(15);
public JNumericTextField()
{
this.getContentPane().setLayout(new FlowLayout());
add(field);
add(label);
field.addKeyListener(this);
field.addCaretListener(this);
setBounds(100,100,300,200);
setVisible(true);
}
public void caretUpdate(CaretEvent ce)
{
int position=ce.getMark();
label.setText("Total Digits :" +position);
}
public void keyPressed(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar(); // Get the typed character
// Don't ignore backspace or delete
if (c != KeyEvent.VK_BACK_SPACE && c != KeyEvent.VK_DELETE)
{
if (!(c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9'))
{
e.consume(); // Ignore this key
JOptionPane.showMessageDialog(this,"Only Digits Allowed...","Warning",JOptionPane.WARNING_MESSAGE);
}
}
}
public static void main(String arg[])
{
new JNumericTextField();
}
}
2- Save this code in a file named "JNumericTextField.java"
3- Compile and Run
javac JNumericTextField.java
java JNumericTextField
4- OUTPUT
Write Your Comments.....
Comments
Post a Comment