swing 文本框判断是否输入完成

本文介绍了一个使用Java Swing实现的功能:通过监听文本框的键盘事件来判断用户输入是否完成,并在输入完成后生成相应的二维码。此功能利用了定时任务来延迟执行二维码生成操作,确保在用户真正完成输入后才进行生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java swing 文本框判断是否输入完成

inputQRTextArea.addKeyListener(new KeyListener() {
		    private long lastTimeMillSencond;
		    @Override
		    public void keyTyped(KeyEvent e) {
		    }
		    @Override
		    public void keyReleased(KeyEvent e) {
		    }
		    @Override
		    public void keyPressed(KeyEvent e) {
                if (EventHWUtil.isJustShiftDown(e)) {//双击Shift
                    if (lastTimeMillSencond == 0) {
		                lastTimeMillSencond = System.currentTimeMillis();
		            } else {
		                long currentTime = System.currentTimeMillis();
		                if (MenuUtil2.isDoubleClick(currentTime - lastTimeMillSencond )) {
		                    genQRbutton.doClick(); 
		                    lastTimeMillSencond = 0;
		                } else {
		                    lastTimeMillSencond = System.currentTimeMillis();
		                }
		            }
                } else {//输入完成之后生成二维码
                    if (timer == null) {
                        timer = new Timer();
                    }
                    if (null != task) {
//                        System.out.println(222);
                        task.cancel();
                        task = null;
                    }

                    if (task == null) {
//                        System.out.println(111);
                        task = new TextBoxTask(QRCodePanel.this);
                        timer.schedule(task, INPUT_WAIT_SECOND * 1000);
                    }
                }
            }
		});

要执行的任务:

import com.swing.component.QRCodePanel;

/**
 * Created by 黄威 on 16/11/2016.<br >
 */
public class TextBoxTask extends java.util.TimerTask {
    private QRCodePanel qrCodePanel;

    public TextBoxTask(QRCodePanel qrCodePanel) {
        super();
        this.qrCodePanel = qrCodePanel;
    }

    @Override
    public void run() {
        //输入完成之后生成二维码
        System.out.println("$$$$$");
        this.qrCodePanel.generateQRAction(false);
    }
}

 参考我的另外一篇博客:http://hw1287789687.iteye.com/blog/2323017

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值