棋盘游戏Java-棋盘GUI

棋盘游戏Java-棋盘GUI,java,swing,user-interface,Java,Swing,User Interface,我必须为学校做一个Java项目,我决定做一个棋盘游戏:Stratego。但我已经在实际板的GUI上停留了一段时间。 我的意图是制作一个带有背景图像的框架,在上面(如在上层)有一个网格,我可以为网格的每个正方形指定坐标。当一个棋子被创建时,玩家可以为它指定一个正方形,因此正方形必须能够显示一个棋子的图像 这就是我被困了几个星期的地方!我似乎找不到如何制作多层框架。你知道一个更简单的实现吗? 如果有人能帮助我,我将不胜感激 编辑:我应该把我已经做过的事情: public class FenetreJ

我必须为学校做一个Java项目,我决定做一个棋盘游戏:Stratego。但我已经在实际板的GUI上停留了一段时间。 我的意图是制作一个带有背景图像的框架,在上面(如在上层)有一个网格,我可以为网格的每个正方形指定坐标。当一个棋子被创建时,玩家可以为它指定一个正方形,因此正方形必须能够显示一个棋子的图像

这就是我被困了几个星期的地方!我似乎找不到如何制作多层框架。你知道一个更简单的实现吗? 如果有人能帮助我,我将不胜感激

编辑:我应该把我已经做过的事情:

public class FenetreJeu extends JFrame {

private static final long serialVersionUID = 1L;
public static  int TILE_OFFSET= 60;//Constant for the coordinates

public FenetreJeu() {
    setVisible(true);
    setSize(700,700);
    Panel background= new Panel();
    background.setBorder(new EmptyBorder(0, 0, 0, 0));
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    getContentPane().add(background);
    background.setLayout(new GridLayout(10, 10,1,1));

}

private void createAndAddPiece(int couleur, int rang, int x, int y) {
    Image img = this.getImagePion(couleur, rang);
    switch(rang){
        case Pion.RANG_MARECHAL:
            Marechal marechal = new Marechal();
            break;
        case Pion.RANG_GENERAL:
            General general = new General();
            break;
        case Pion.RANG_COLONEL:
            Colonel colonel = new Colonel();
            break;
        case Pion.RANG_COMMANDANT:
            Commandant commandant = new Commandant();
            break;
        case Pion.RANG_CAPITAINE:
            Capitaine capitaine = new Capitaine();
            break;
        case Pion.RANG_LIEUTENANT:
            Lieutenant lieutenant = new Lieutenant();
            break;
        case Pion.RANG_SERGENT:
            Sergent sergent = new Sergent();
            break;
        case Pion.RANG_DEMINEUR:
            Demineur demineur = new Demineur();
            break;
        case Pion.RANG_ECLAIREUR:
            Eclaireur eclaireur = new Eclaireur();
            break;
        case Pion.RANG_ESPION:
            Espion espion = new Espion();
            break;
        case Pion.RANG_DRAPEAU:
            Drapeau drapeau = new Drapeau(Pion.RANG_DRAPEAU,Pion.STATIQUE);
            break;
        case Pion.RANG_BOMBE:
            Bombe bombe = new Bombe(Pion.RANG_BOMBE,Pion.STATIQUE);
            break;
    }

}


private Image getImagePion(int couleur, int rang) {//Method to get the image of the piece

    String filename = "";

    filename += ( couleur == Pion.COLOR_RED ? "/Ressources/PionsRouges/" : "/Ressources/PionsBleus/");
    switch (rang) {
        case pions.Pion.RANG_MARECHAL:
            filename += "9";
            break;
        case pions.Pion.RANG_GENERAL:
            filename += "8";
            break;
        case pions.Pion.RANG_COLONEL:
            filename += "7";
            break;
        case pions.Pion.RANG_COMMANDANT:
            filename += "6";
            break;
        case pions.Pion.RANG_CAPITAINE:
            filename += "5";
            break;
        case pions.Pion.RANG_LIEUTENANT:
            filename += "4";
            break;
        case pions.Pion.RANG_SERGENT:
            filename += "3";
            break;
        case pions.Pion.RANG_DEMINEUR:
            filename += "2";
        case pions.Pion.RANG_ECLAIREUR:
            filename += "1";
            break;
        case pions.Pion.RANG_ESPION:
            filename += "10";
            break;
        case pions.Pion.RANG_DRAPEAU:
            filename += "0";
            break;
        case pions.Pion.RANG_BOMBE:
            filename += "-1";
            break;
    }
    filename += ".gif";

    URL urlPieceImg = getClass().getResource(filename);
    return (new ImageIcon(urlPieceImg).getImage());
}

}

您是否查看了Java文档中的?告诉我们您正在使用的Java GUI工具包(如Swing、SWT等)也可能会有所帮助。如果您需要使用框架上的背景图像,请在背景上创建JPanels,以制作游戏板方块,并获取您想要表示这些棋子的图标,在游戏开始时,使用鼠标或键盘命令选择和移动特定的棋子,并对棋子的移动和使用能力进行编程。当我制作了这样的游戏时,我会在JPanel上绘制背景图像。这些作品是我在JPanel上绘制的图像。JPanel被添加到JFrame中。看看我的,看看我是如何画一个游戏板的。我已经用我已经写过的代码编辑了这个问题。仅供参考,“rang”是该作品的等级。我制作了一个超级类中的列常量。