我正在尝试重新制作扫雷,但是一旦我将其他组件(例如地雷计数器)添加到屏幕中,我在显示按钮后面的数字时遇到问题。
在这种特殊情况下,我有两个 JPanel。我的第一个 JPanel 将包含多个组件,例如地雷计数器和另一个包含板的 JPanel(由自定义 JButton 组成的行数组)。
在我添加矿工计数器之前,一切似乎都正常,数字绘制正常,逻辑正常等等。但这不是我的问题所在。
在我的自定义 JPanel(包含标签、板等的面板)中,我使用 paintComponent() 方法将数字打印到屏幕上。但是,一旦我添加了另一个 JPanel,我需要在屏幕上添加数字,我遇到了一些问题。
首先,我不知道如何区分我在哪个面板上绘图,但我想我找到了解决方法,例如:“g = boardPanel.getGraphics()”。如果这行得通,我在其他地方遇到了问题。很可能与我如何构建我的 paintComponent() 方法有关,我不确定订单的外观。
这是我所拥有的某种代码:
public void paintComponent(Graphics g) {
super.paintComponent(g);
g = boardPanel.getGraphics();
//Draw the lines and numbers behind and separating the tiles. These, in my
//mind, are drawn to the graphics object regarding the playable board (the
//board, not the panel including the mine counter, etc.) But, when I click
//on a tile, there are no mine indicators behind it.
}
我想,从本质上讲,我只是不确定如何构造paintComponent() 方法,因为我认为我必须处理两个不同的图形对象,一个用于棋盘面板,一个用于保存地雷计数和棋盘面板。
任何帮助,将不胜感激。谢谢。