我正在用Java制作国际象棋,我有一块黑白方块的JButton。基本上我的代码是这样的:
JButton[][] board = new JButton[8][8];
JPanel boardPanel = new JPanel();
boardPanel.setLayout(new GridLayout(8, 8));
for (row = 0; row < 8; row++) {
for (col = 0; col < 8; col++) {
board[row][col] = new JButton("");
board[row][col].setBackground(new Color(70, 70, 70));
boardPanel.add(board[row][col]);
}
}
在按钮上我会有各自的棋子。我用透明背景创建它们,因此它们将显示在黑色或白色方块上。当我将它们添加到按钮时,透明度会因.jpg和.png格式而消失。我怎样才能解决这个问题?每张图片都采用以下格式:
ImageIcon whitePawn = new ImageIcon("whitePawn.jpg");
谢谢!
答案 0 :(得分:1)
JPG不支持透明度。您可以使用正确的PNG文件。
有几种替代方法:
您可以为每件作品创建2张图片,例如whitePawnInWhiteCell.jpg和whitePawnInBlackCell.jpg并使用它们。
您可以为每件作品定义形状,然后在单元格上绘制图像之前应用适当的剪辑。