Java 无法使图片移动
我试着让我的UFO(预先编写的类,包含GCombound绘图)在一个按键上移动。但我不知道为什么它不动。有什么建议吗? 编辑:我所说的“点击一个键”是指一点击一个键就开始移动。不知道我在那里用的是不是正确的英语Java 无法使图片移动,java,acm-java-libraries,Java,Acm Java Libraries,我试着让我的UFO(预先编写的类,包含GCombound绘图)在一个按键上移动。但我不知道为什么它不动。有什么建议吗? 编辑:我所说的“点击一个键”是指一点击一个键就开始移动。不知道我在那里用的是不是正确的英语 import acm.program.*; import java.awt.event.*; public class drawUFO extends GraphicsProgram { private static final double UFO_WIDTH = 50; p
import acm.program.*;
import java.awt.event.*;
public class drawUFO extends GraphicsProgram {
private static final double UFO_WIDTH = 50;
private static final double UFO_HEIGHT = 25;
public void run() {
setup();
addKeyListeners();
}
public void setup() {
UFO bowl = new UFO(UFO_WIDTH, UFO_HEIGHT);
add(bowl, 0, 0);
}
public void drift(KeyEvent e) {
while (getWidth() > bowl.getX() + UFO_WIDTH) {
bowl.move(5, 0);
pause(50);
}
}
private UFO bowl;
}
所以,这里最大的错误是“移动”方法的名称错误。 我把它设为“漂移”。但是,对鼠标单击作出反应的方法有一个特殊名称,它是mousClicked()。 而且,即使那个部分已经修复,我仍然会有“空指针异常”错误。这将发生在网上:
UFO bowl = new UFO(UFO_WIDTH, UFO_HEIGHT);
这会因为阴影而发生。有关此错误的更多详细信息,您可以在我最近询问的中找到
希望这将对将来的人有所帮助。您的程序中有一些部分没有向我们展示吗?@user3349993:是否需要使用
AWT
?如果您可以使用Swing
KeyListeners
肯定会受到焦点相关问题的影响。@nIcEcOw,我不确定你在说什么。我正在youtube上学习CS106A课程,它使用了awt。但我会用谷歌搜索你的suggestion@DavidWallace,只有一个单独的类称为“UFO”。除此之外,我已经显示了所有的代码setup()
应该设置私有字段UFO bowl
而不是本地UFO
,或者GraphicsProgram.add
方法做什么?