重载 paintComponent()

Overloading paintComponent()

我目前正在制作一个带有 GUI 的基本连四游戏,我正在尝试弄清楚如何将棋子放在棋盘上。我有一个方法可以找到 space 用户想要放置的部分,但我不确定如何绘制这些部分。因为 paintComponent() 总是在没有实际方法调用的情况下被调用并且默认构造函数只接受一个 Graphics 对象,我如何重载 paintComponent() 以便它可以接受不同的参数(这些参数是片段的位置)并且编译器将知道调用我的新 paintComponent() 方法?

how could I overload paintComponent() so that it can take different arguments

你不能。或者更确切地说,您可以创建一个重载方法,但 JRE 不会调用它。

相反,代码需要保持游戏状态的模型,当它改变时,调用 repaint()。在正常的paintComponent(Graphics)方法中,使用模型来确定应该如何绘制。

显然,要使其起作用,模型必须在方法的范围内 - 因此您可以将其设为 class 属性。