아무런 오류나 sth가 없으며 투명한 화면 (배경 복사 가능)과 그려진 타원형이 있지만 화살표 키를 입력 할 때마다 키보드가 작동하지 않습니다. KeyListener를 추가하고 클래스를 JFrame으로 확장했지만 여전히 아무것도 수행하지 않습니다. 나는 초보자 용 물건이라는 것을 알고 있지만, 나는 초보자이며, 나를 괴롭 히고있다 : /. 또한 repaint()도 사용했습니다. 그래도 배경을 다시 렌더링합니까? 사전에 도움을 주셔서 감사합니다!JFrame과 같은 단순한 페인트와 유사한 프로그램을 키 바인딩과 함께 사용할 수 없습니다.
package JavaMain;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
public class javamain extends JFrame {
int x, y;
private static final long serialVersionUID = 1L;
public class AL extends KeyAdapter {
private int keycode;
@SuppressWarnings("static-access")
public void keypress(KeyEvent event) {
keycode = event.getKeyCode();
if (keycode == event.VK_LEFT) {
x -= 10;
}
if (keycode == event.VK_RIGHT) {
x += 10;
}
if (keycode == event.VK_UP) {
y -= 10;
}
if (keycode == event.VK_DOWN) {
y += 10;
}
}
public void keyrelease(KeyEvent e) {
}
}
public javamain() {
addKeyListener(new AL());
setTitle("Statistic");
setSize(600, 800);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x = 200;
y = 200;
}
public void paint(Graphics g) {
g.fillOval(x, y, 20, 20);
repaint();
}
public static void main(String[] args) {
new javamain();
}
}
이 질문의 서식을 확인해보십시오. 제목은 당신이 묻는 것에 대해 조금 길기 때문에 질문은 하나의 긴 텍스트 덩어리입니다. IDE를 사용합니까? 그들은 디버깅 및 코드 형식으로 많은 도움을줍니다. –