冬天的风好冷 2016-09-06 05:47 采纳率: 0%
浏览 963
已采纳

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

源码:

//-----------------------------------------------------------
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条回答

  • I_WANT_U 2016-09-06 06: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");
                }
            }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用