使JButtons透明化

时间:2015-03-03 13:05:05

标签: java swing jbutton

我使用此代码尝试使我的项目(国际象棋游戏)中的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);
}

1 个答案:

答案 0 :(得分:-1)

确保您在包含按钮的面板上setLayout(null)。然后,当您在按钮上setBounds()时,请在面板上调用repaint()