2 winter wind winter_wind 于 2016.09.06 13:47 提问

图形界面文本框输入限制问题

源码:

//-----------------------------------------------------------
import java.awt.*;
import java.awt.event.*;

class AwtDemo
{
public static void main(String[] args)
{
Frame f=new Frame("这是标题");
Button b=new Button("这是按钮");
TextField tf=new TextField(10);//创建一个文本框
f.setSize(500,400);//窗体大小
f.setLocation(300,200);//窗体在屏幕的位置
f.setLayout(new FlowLayout());//设置布局

    f.add(b);
    f.add(tf);

    //--------------------------------------------------
    f.addWindowListener//添加指定的窗口侦听器
    (
        new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.out.println("窗口关闭了");
                System.exit(0);
            }
        }
    );

    tf.addKeyListener
    (
        new KeyAdapter()
        {
            @SuppressWarnings({ "unused", "static-access" })
            public void KeyPressed(KeyEvent e)
            {
                int code=e.getKeyCode();
                if(!(code>=e.VK_0 && code<=e.VK_9))
                {
                    System.out.println(code+"非法字符");
                }   
            }   
        }
    );

    f.setVisible(true);//窗体显示
}

}
//-----------------------------------------------
本意是文本框只能输入数字
启动后在文本框里数字和字母都可以输入,源码如何修改???

2个回答

u010575396
u010575396   2016.09.06 14:14
已采纳
        /*@SuppressWarnings({ "unused", "static-access" })
        public void KeyPressed(KeyEvent e) {
            int code = e.getKeyCode();
            if (!(code >= e.VK_0 && code <= e.VK_9)) {
                System.out.println(code + "非法字符");
            }
        }*/
        @Override
        public void keyPressed(KeyEvent e){
            int code = e.getKeyCode();
            if (!(code >= e.VK_0 && code <= e.VK_9)) {
                System.out.println(code + "非法字符 press");
            }
        }
        @Override
        public void keyReleased(KeyEvent e){
            int code = e.getKeyCode();
            if (!(code >= e.VK_0 && code <= e.VK_9)) {
                System.out.println(code + "非法字符 release");
            }
        }

winter_wind
winter_wind   2016.09.06 14:28

谢谢,
真是郁闷,KeyPressed的‘k’大写了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!