gpt4 book ai didi

java - 使用按键在 JPanel 中 move 矩形

转载 作者:行者123 更新时间:2023-12-02 06:59:09 26 4
gpt4 key购买 nike

我有一个名为“DisplayPanel”的类(它扩展了 JPanel),我在那里画了一个来自名为“Square”的类(它扩展了 JComponent)的正方形。如何使用按键在 JPanel 中 move 矩形?

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:每次我尝试插入循环时,软件都会严重崩溃,所以我放弃了这样做。

如何根据输入重新绘制对象?

最佳答案

无法重新绘制矩形,因为 PaintComponent 方法采用了令人不快的参数。 永远不要调用paintComponent,而是使用repaint()。

使用 KeyBindings 只需将“squarishThing”更新为适当的值,然后调用 repaint()。

关于java - 使用按键在 JPanel 中 move 矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16887160/

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