首页 文章

使JButtons透明化

提问于
浏览
0

我使用这段代码试图让我的项目(国际象棋游戏)中的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 回答

  • -1

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

相关问题