这是我第一次使用GUI。我似乎无法用头来操纵它。我觉得答案很简单(我很抱歉),但我不能把它放到我的脑海里。 :/
我有一个2D JLabel数组,每个数组都设置为默认的ImageIcon。我在每列上方都有按钮,指定列号。在actionPerformed方法中,我为每个按钮都有这个:
if(e.getSource()== (whatever column number button name) )
{
}
我不知道如何将令牌添加到指定令牌的最低行,我认为在找到设置为ImageIcon p0的最低行后,我将根据播放器颜色将其设置为pR或pB 。但我不知道如何编写一个循环,它会找到存储p0的最低单元格或如何跟踪玩家颜色。
final ImageIcon p0 = new ImageIcon("Board.jpg");// default board box
final ImageIcon pR = new ImageIcon("Red.jpg");
final ImageIcon pB = new ImageIcon("Black.jpg");
JLabel [][] connectFourBoardComp = new JLabel[6][7];
for(int row=0, count=6; row<1; row++)
{
for(int col=0; col<7; col++, count++)
{
connectFourBoardHumn[row][col].setIcon(p…
System.out.println(connectFourBoardHumn[…
}
}
任何帮助将不胜感激!谢谢! :)
答案 0 :(得分:0)
要跟踪当前玩家的颜色,只需在每次用户播放时切换颜色:
if (nextColor == pR) {
nextColor = pB;
}
else {
nextColor = pR;
}
要找到带有p0图标的第一行(假设最低行位于索引0处),只需循环遍历行,直到找到一行:
int firstEmptyRow = connectFourBoardComp.size(); // default case: the the row is full of tokens
for (int i = 0; i < connectFourBoardComp; i++) {
if (connectFourBoardComp[i][column] == p0) {
firstEmptyRow = i;
break; // break out of the loop
}
}