Swing JTextField实时监听键盘输入内容

JTextField想要实时监听键盘输入内容必须实现DocumentListener接口

如图:实现接口后会有这三个方法:

implements DocumentListener

这里写图片描述

下面我们来看一下API中的介绍:
这里写图片描述

在API中可以看出
insertUpdate 是实时监听输入的内容,该方法可以跟踪文本框中输入的内容

removeUpdate是实时监听删除内容,该方法可以跟踪文本框中移除的内容

changedUpdate是更新内容,该方法可以跟踪当文本框中已存在的内容改变时(这个方法比较少用)

–下面来看看代码是如何实现的

接下来是添加DocumentListener的监听事件:

JTextField.getDocument().addDocumentListener(this);

这里写图片描述

接下那看看怎么实现吧!

//这个是得到你键盘输入的内容
Document doc = e.getDocument();  
tring strMoney = doc.getText(0, doc.getLength());

如图看代码如何实现
这里写图片描述

接下来测试一下控制台能不能得到:

在swing界面上输入了100
这里写图片描述

再看控制台:
这里写图片描述

可以看到实时获取了
这里需要说明一下,我们输入100,一共按了3次键盘:
第一次是按了1,所以控制台输出了1
第二次按了0,所以在1后面追加了一个0,变成10
第三次又按了0,所以在0后面追加了一个0,变成了100

即实现了键盘监听

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Swing 中,你可以使用 KeyListener 接口来监听窗体上的键盘按键事件。下面是一个示例代码: ```java import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class KeyListenerExample { public static void main(String[] args) { JFrame frame = new JFrame("键盘事件示例"); // 创建一个文本JTextField textField = new JTextField(); textField.addKeyListener(new MyKeyListener()); // 添加文本框到窗体 frame.getContentPane().add(textField); // 设置窗体的大小和位置 frame.setSize(300, 200); frame.setLocationRelativeTo(null); // 居中显示 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示窗体 frame.setVisible(true); } static class MyKeyListener implements KeyListener { @Override public void keyTyped(KeyEvent e) { // 按键被按下并释放时触发,对于非字符按键,该方法不会被调用 System.out.println("键盘按键被输入:" + e.getKeyChar()); } @Override public void keyPressed(KeyEvent e) { // 按键被按下时触发 System.out.println("键盘按键被按下:" + e.getKeyCode()); } @Override public void keyReleased(KeyEvent e) { // 按键被释放时触发 System.out.println("键盘按键被释放:" + e.getKeyCode()); } } } ``` 在上述示例代码中,我们创建了一个继承自 KeyListener 接口的自定义键盘监听器类 MyKeyListener。在这个类中,我们实现了 keyTyped()、keyPressed() 和 keyReleased() 方法来处理键盘按键事件。然后,我们将该监听器添加到文本框上。 当用户在文本框中按下、释放或输入字符时,相关的键盘事件将触发并执行相应的方法。 希望这个示例对你有帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值