我正在尝试为我的CS课程制作棋盘游戏。我已经将JPanels放在彼此旁边构建了基本的棋盘,现在我想在这些JPanels之上添加一些棋子,这样每当我移动时他们,原来的JPanel制作基本板出现..这可能吗? 那是我的代码:
import java.awt.*;
import javax.swing.*;
public class LOA extends JFrame{
static JPanel[][] board;
static Color temp;
static Color col1 = Color.DARK_GRAY;
static Color col2 = Color.LIGHT_GRAY;
public static void main (String [] args){
JFrame LOA = new JFrame();
board = new JPanel[8][8];
LOA.setLayout(new GridLayout(8, 8));
for(int i=0; i<8; i++) {
if (i%2 == 0) {
temp = col1;
}
else {
temp = col2;
}
for(int j=0; j<8; j++) {
board[i][j]= new Tiles(temp);
LOA.getContentPane().add(board[i][j],i,j);
if (temp.equals(col1)) {
temp = col2;
}
else {
temp = col1;
}
}
}
for(int i=0; i<8; i++) {
for(int j = 0; j<8; j++){
if (i < 7 && i > 0 && (j == 0 || j == 7)) {
board[i][j] = (JPanel) board[i][j].add(new Checkers(Color.black));
}
if (j < 7 && j > 0 && (i == 0 || i == 7)) {
board[i][j] = (JPanel) board[i][j].add(new Checkers(Color.WHITE));;
}
LOA.getContentPane().add(board[i][j],i,j);
}
}
LOA.setSize(600, 600);
LOA.setVisible(true);
LOA.setLocationRelativeTo(null);
LOA.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
如果需要实际的Checkers和Tiles类,我会在这里发布em ..但它们基本上是一个采用paintComponent()
方法的JPanel,Tiles负责董事会,Checkers就是我的想要在JPanel板上画一个椭圆形......任何答案都表示赞赏。