我正在用 Java 下国际象棋,我有一个带有黑白 JButton 方 block 的棋盘。所以基本上我的代码是这样的:
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]);
}
}
按钮上有相应的棋子。我用透明背景创建它们,这样它们就会显示在黑色或白色方 block 上。当我将它们添加到按钮时,透明度会消失,但 .jpg 和 .png 格式除外。我怎样才能解决这个问题?每个图像均采用以下格式:
ImageIcon whitePawn = new ImageIcon("whitePawn.jpg");
谢谢!
最佳答案
JPG 不支持透明度。您可以使用适当的 PNG 文件。
不过还有一些替代方法:
您可以为每个部分创建 2 个图像,例如whitePawnInWhiteCell.jpg 和whitePawnInBlackCell.jpg 并使用它们。
您可以为每个部分定义形状,并在单元格上绘制图像之前应用适当的剪辑。
关于java - 是否可以在 ImageIcon 中保持透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978781/