我有一个名为“DisplayPanel”的类(它扩展了 JPanel),我在那里画了一个正方形,它来自一个名为“Square”的类(它扩展了 JComponent)。如何使用键移动 JPanel 中的矩形?
Square 类具有通常的绘画方法:
public void paintComponent(Graphics g) {
Dimension dimension = getSize();
super.paintComponent(g);
Graphics2D graphics2D = (Graphics2D) g;
g.setColor(Color.black);
graphics2D.fill(squarishThing);
}
而“squarishThing”是一个普通的矩形:
Rectangle squarishThing = new Rectangle (0, 0, 50, 50);
问题是:与“游戏库”不同,尝试“手动”做这样的事情是相当令人困惑的。我不知道“while循环”在哪里。我试图在 DisplayPanel 中放置一个 KeyListener,但我很遗憾地未能更新矩形。没有循环,我无法重新绘制矩形,因为方法 paintComponent 采用了那个令人不快的参数。OBS:每次我尝试插入循环时,软件都会严重崩溃,所以我放弃了。
我可以做些什么来根据输入重新绘制对象?