0

重複の可能性:
JButton の ImageIcons が Runnable JAR ファイルに表示されない

チェスゲームのJavaでGUIに画像を追加しようとしています:

JPanel theBoard;
    JLabel aPiece;
    JLayeredPane layeredPane;

    public ChessGameGUI() 
    {
        Dimension size = new Dimension(480, 480);

        layeredPane = new JLayeredPane();
        getContentPane().add(layeredPane);
        layeredPane.setPreferredSize(size);

        theBoard = new JPanel();
        layeredPane.add(theBoard, JLayeredPane.DEFAULT_LAYER);
        GridLayout chessBoardLayout = new GridLayout(8,8);
        theBoard.setLayout(chessBoardLayout);
        theBoard.setPreferredSize(size);
        theBoard.setBounds(0, 0, size.width, size.height);

        boolean drawWhite = false;

        // setup initial squares
        for(int x = 0; x < 8; x++)
        {
            for(int y = 0; y < 8; y++)
            {
                BorderLayout squareBorder = new BorderLayout();
                JPanel aChessSquare = new JPanel(squareBorder);
                theBoard.add(aChessSquare);

                if(drawWhite) aChessSquare.setBackground(Color.white);
                else aChessSquare.setBackground(Color.green);

                if(y == 7);
                else drawWhite = !drawWhite;
            }
        }
    }

このコードは市松模様のボードをうまくセットアップしますが、個々のピースを追加しようとしても何も起こりません:

for(int x = 0; x < 8; x++)
        {
            for(int y = 0; y < 8; y++)
            {
                if(board[x][y]._isOccupied)
                {
                    System.out.println("found a piece at x = " + x + " y = " + y);

                    //ImageIcon pieceImage = new ImageIcon("Images/wPawn.jpg");
                    ImageIcon pieceImage = findPieceImage(board, x, y);

                    JLabel pieceToDraw = new JLabel(pieceImage);
                    JPanel curComponent = (JPanel)theBoard.getComponent(7 * x + y);
                    curComponent.add(pieceToDraw);
                }
            }
        }

Images フォルダーは src フォルダーに含まれています。なぜこれがうまくいかないのか誰にも分かりますか?

4

0 に答える 0