簡體   English   中英

更改jButton透明度/ opacity / alpha

[英]Change jButton transparancy /opacity/alpha

我在Java中有自定義類,該類擴展了JButton並具有圖像背景。 我可以在課堂上使用此功能設置alpha:

@Override
public void paint(Graphics g) 
{       
    Graphics2D g2 = (Graphics2D) g.create();
    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float) 0.5));
    super.paint(g2);
    g2.dispose();
}

如何將getter和setter設置為此功能,以便我可以從創建按鈕的類中控制不透明度? 我需要這樣的東西:

MyJButton myJbtn = new MyJButton();
myJbtn.setOpacity(0.5);

在您的按鈕類中創建實例字段opacity ,然后創建setter和getter:

private float opacity;
//......
public setOpacity(float opacity) {
    this.opacity = opacity;
}

public void getOpacity(){
    return this.opacity
}

然后,在對按鈕設置任何不透明度之后,類會重新繪制:

MyJButton myJbtn = new MyJButton();
myJbtn.setOpacity(0.5);
myJbtn.repaint();

setOpacity方法可以這樣實現:

public void setOpacity(float opacity) {
    this.opacity = opacity;
    repaint();
}

opacity是存儲當前不透明度的實例字段。 paint將其用作不透明度值。

您可能還需要getOpacity方法,這不是嚴格要求的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM