gpt4 book ai didi

java - 在 Swing 中使用 KeyListener 的 3 个方法时感到困惑吗?

转载 作者:行者123 更新时间:2023-12-02 03:56:20 26 4
gpt4 key购买 nike

我正在尝试构建一个仅接受数字的文本字段。我尝试了很多次,但我得到了 3 种方法的行为。这三个方法同时调用,但所有方法为 getKeyCode() 方法返回不同的值。为什么这些方法返回不同的值?还有一件事,当我尝试将 keyListener 添加到 JApplet 时,它不接受键值?为什么?

import java.awt.event.*;
import javax.swing.*;

public class SimpleKey1 extends JApplet implements KeyListener
{
String msg="";


JTextField jTextField;
int x = 10, y = 20;

public void init()
{
addKeyListener(this);

requestFocus();
}

@Override
public void keyPressed(KeyEvent arg0) {
showStatus("Key Pressed");
}

@Override
public void keyReleased(KeyEvent arg0) {
showStatus("Key Released");
}

@Override
public void keyTyped(KeyEvent arg0) {
msg+=arg0.getKeyChar();
repaint();
}

public void paint(Graphics g)
{
g.drawString(msg, x, y);
}

}

最佳答案

使用 JFormattedTextField 代替并提供仅接受数字的格式。因此不需要编写那么多代码。

文档位于http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html

关于java - 在 Swing 中使用 KeyListener 的 3 个方法时感到困惑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com