我使用此代码尝试使我的项目(国际象棋游戏)中的JButton透明,这样你只能看到作品而不是背景。它可以工作但是当我将鼠标移到电路板上时,按钮会复制自己。例如。如果我将鼠标放在带有棋子的棋子上,然后移动到一个骑士的棋子上,那么棋子会出现在骑士身后。重新绘制框架可以摆脱它们,但即使我在鼠标移动时重新绘制,当我在棋盘上移动时它看起来仍然很奇怪。
public class Pawn extends JButton(){
Pawn(x, y){
this.setIcon(new ImageIcon("pawn"));
this.setBounds(x, y, 100, 100);
this.makeClear();
}
public void makeClear(){
this.setOpaque(false);
this.setContentAreaFilled(false);
this.setBorderPainted(false);
}
答案 0 :(得分:-1)
确保您在包含按钮的面板上setLayout(null)
。然后,当您在按钮上setBounds()
时,请在面板上调用repaint()
。