Java棋盘图像没有显示

时间:2014-03-25 00:34:24

标签: java swing chess

我正在开发一个有问题的棋盘。我试图使用图像来代表国际象棋广场。但图像并未显示。

这是有问题的代码:

//Add a chess board to the Layered Pane 
chessBoard = new JPanel();
layeredPane.add(chessBoard, JLayeredPane.DEFAULT_LAYER);
chessBoard.setLayout( new GridLayout(8, 8) );
chessBoard.setPreferredSize( boardSize );
chessBoard.setBounds(0, 0, boardSize.width, boardSize.height);

for (int i = 0; i < 64; i++) {
JPanel square = new JPanel( new BorderLayout() );
chessBoard.add( square );

int row = (i / 8) % 2;
if (row == 0); 
JLabel panel = new JLabel(new ImageIcon("/Users/Downloads/pieces/EmptySquare.jpg") ); 
}

所有被展示的都是碎片,没有正方形,提前谢谢。

1 个答案:

答案 0 :(得分:3)

两件事......

首先...

您的if声明以;

结尾
if (row == 0); 

这实际上完全忽略了这句话。

其次,您似乎永远不会将panel添加到UI ...

    //...
    JLabel panel = new JLabel(new ImageIcon("/Users/Downloads/pieces/EmptySquare.jpg") ); 
} // End of for-loop...

考虑使用ImageIO.read代替ImageIcon,因为如果无法加载图片,它会提供更多详细信息。请查看Reading/Loading an Image了解更多详情......