【发布时间】:2021-01-04 13:22:18
【问题描述】:
我想为 9x9 网格的 GUI 游戏移动按钮,以便按钮如下图所示。我已经很努力了,但还是想不通。
我目前遇到的问题。
我希望它看起来像什么。
public FutoshikiGUI()
{
grid = new JPanel(new GridLayout(0,9));
cells = new PanelCell[5+1][5+1];
for (int row=1; row<=5; row++)
{
for (int col=1; col<=5; col++)
{
// number input
cells[row][col] = new PanelCell(this,row,col);
grid.add(cells[row][col]);
if(col < 5)
{
// relation input
JButton button = new JButton("");
button.setBackground(Color.white);
button.setOpaque(true);
button.setBorder(new LineBorder(Color.BLACK));
grid.add(button);
}
}
}
for (int row=1; row<=4; row++)
{
for (int col=1; col<=5; col++)
{
// relation input
JButton btn = new JButton("");
btn.setBackground(Color.white);
btn.setOpaque(true);
btn.setBorder(new LineBorder(Color.BLACK));
grid.add(btn);
if(col < 5)
{
// blank input
JButton button = new JButton("");
button.setBackground(Color.darkGray);
button.setOpaque(true);
button.setBorder(new LineBorder(Color.BLACK));
grid.add(button);
}
}
}
setLayout(new BorderLayout());
add(grid, BorderLayout.NORTH);
}
【问题讨论】:
-
@Abre 对您的previous question 的回答有什么问题?
-
@GilbertLeBlanc 我需要它与我的
PanelCell类一起工作,因为它有一个 KeyListener 允许您输入 1 到 5 之间的数字。实例变量cells也用于我的clear 方法开始一个新的游戏。所以我不想删除我已经为游戏创建的功能。 -
我需要它与我的 PanelCell 类一起使用 - 然后修改方法以使用您的 PanelCell 类。我们不知道 PanelCell 类是什么,那么您希望我们如何告诉您如何使用它?我们所能做的就是提供根据您的图片布置组件的方法,这已在您的上一个问题中完成。