gpt4 book ai didi

java - KeyListener 不适用于对象

转载 作者:行者123 更新时间:2023-12-02 05:50:51 26 4
gpt4 key购买 nike

我遇到了 KeyListener 问题。我创建类(class)gra在构造函数中玩俄罗斯方 block 需要的完整代码在哪里,我只添加KeyListener。其他类(class)Menu我创建对象 Gra gra = new Gra()满足条件后将其折叠gra.start(g);但是当我类的时候Gra KeyListener 不工作。请帮我解决这个问题。他是gra类的代码

    import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;

import javax.swing.JPanel;

//@SuppressWarnings("serial")
public class Gra extends JPanel implements KeyListener{


public Gra(){
addKeyListener(this);
setFocusable(true);
requestFocus();
repaint();
}
public void start(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
setFocusable(true);
requestFocus();
repaint();
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
System.err.println("sdfafs");
char c = arg0.getKeyChar();
System.err.println(c);
}

@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
char c = arg0.getKeyChar();
System.err.println(c);
}

@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
char c = arg0.getKeyChar();
System.err.println(c);

}

}

最佳答案

KeyListener 非常变化无常。它注册到的组件必须可聚焦并且具有焦点。组件可能会通过多种方式失去焦点,或者根据系统的不同,在请求时无法获得焦点。

相反,请使用 key bindings API ,因为它将允许您配置焦点级别,无论如何都会触发关键事件

关于java - KeyListener 不适用于对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553051/

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