我正在开发一个有问题的棋盘。我试图使用图像来代表国际象棋广场。但图像并未显示。
这是有问题的代码:
//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") );
}
所有被展示的都是碎片,没有正方形,提前谢谢。
答案 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了解更多详情......