java - 有没有办法同时检测按键和显示图形?
问题描述
在过去的几天里,我一直在尝试在 Java 画布中开发一个游戏(一个非常原始的游戏)。但是,每次我尝试查找 KeyListener 和 Graphics 的代码时,它们总是相互独立(在类方面),我正在努力将它们组合在一起。我在画布内实例化 KeyListener 的尝试总是以does not override abstract method
错误告终。我已经尝试在 Oracle、GeeksforGeeks 和其他 StackOverflow 问题上查找“抽象”错误,但是创建子类的所有策略都以相同的错误结尾。可能有更好的方法来做到这一点,任何提示?
这是我到目前为止的代码:
import java.awt.event.*;
// This creates the canvas itself, and I understand how this works
public class Project extends Frame {
public static void main(String args[]) {
new Project();
}
public Project() {
super("Java 2D Example01");
setSize(480,360);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
);
addKeyListener(new TypeThings(){}); // Here's the "abstract" error I got
}
public void paint(Graphics g) {
// This is empty for now
}
}
// Here's where I put the KeyListener class, which I'm not sure is the best place for it
abstract class TypeThings implements KeyListener {
public void keyTyped(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("U");
}
if (event.getKeyCode() == KeyEvent.VK_DOWN) {
System.out.println("D");
}
if (event.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("L");
}
if (event.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("R");
}
}
}
解决方案
推荐阅读
- excel - 查找并删除重复的 ID 并替换
- sql - 用于数据过滤的 Oracle SQL 函数或存储桶
- sas - SAS中两个表中的公共值(没有Proc SQL)
- java - java.util.NoSuchElementException:找不到行。以前工作,但以后不行。我不知道为什么
- python - Tkinter OptionManu 标题在第二个 GUI 窗口中消失
- c - C中的交错数组
- laravel - Laravel 5.7 中的连接问题
- c# - Unity 2018.2 中有多个同名插件?
- jquery - 如何使用图像按钮展开和折叠内容
- tensorflow - 如何对张量板的可学习参数进行分组?