您的位置:首页 > 编程语言 > Java开发

超简单实现一个只接收数字的类[JAVA]

2011-03-28 01:07 676 查看
当然啦,不是说在输入完成后才处理输入的是不是数字

直接来代码吧

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JTextField;
//
public class NumberField extends JTextField implements KeyListener
{
private static final long serialVersionUID = 1L;
NumberField(int columns)
{
setColumns(columns);
addKeyListener(this);	//必需的
}
public void keyPressed(KeyEvent e){
}
public void keyReleased(KeyEvent e){
}
public void keyTyped(KeyEvent e)
{
char key = e.getKeyChar();

//只接收输入数字、'.'和'-'
if ((key >= KeyEvent.VK_0 		&&
key <= KeyEvent.VK_9)		||
key == KeyEvent.VK_PERIOD 	||
key == KeyEvent.VK_MINUS
)
{
if (key == KeyEvent.VK_PERIOD)
{
//如果已经存在'.',则不处理
String str = getText();
if (str.indexOf('.') != -1)
e.consume();
}
//输入负号
else if (key == KeyEvent.VK_MINUS)
{
if (getText().length() != 0)
e.consume();
}
}
else	//拒绝其它字符输入
{
e.consume();
}
}
}


继承自JTextField,监听按键消息

这里的话只能是单选的文本咯

构造函数只写了一个,有需要自己写咯,反正是那么简单的事


废话就不多说了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐