问题描述
我正在尝试制作国际象棋游戏,但是当我尝试通过 JLabel 图标插入棋子时,它们覆盖了实际的棋盘,因此只有棋子留在屏幕上。我如何让 JLabels 不掩盖它背后的绘画?我正在使用扩展 JApplet 的类来执行此操作。
更新:它通过使用 Applet 而不是 JApplet 来工作,但我仍然不知道为什么。
这是代码:
ChessBoard board; // done in another class file
public static int CEL_WIDTH = 65;
public static int MARGIN_X = 50,MARGIN_Y = 50;
imagePos = "../src/Schack/Bilder/";
JLabel label;
public void init() {
setLayout(null);
this.setSize(600,600);
board = new ChessBoard(MARGIN_X,MARGIN_Y,CEL_WIDTH);
ImageIcon imageIcon = new ImageIcon(getimage(getDocumentBase(),imagePos + "blackRook.png")); //scaling my image
Image image = imageIcon.getimage();
Image newimg = image.getScaledInstance(CEL_WIDTH,CEL_WIDTH,java.awt.Image.SCALE_SMOOTH);
imageIcon = new ImageIcon(newimg);
label = new JLabel(imageIcon);
label.setBounds(MARGIN_X,CEL_WIDTH);
add(label);
}
@Override
public void paint(Graphics g) {
board.paintChessBoard(g); // another paint method in a different class file
super.paint(g);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)