java - 更改 jButton 透明/不透明度/alpha

标签 java swing transparency jbutton alpha-transparency

我在 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();

关于java - 更改 jButton 透明/不透明度/alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18042542/

相关文章:

java - 如何读取 HOCON 配置以将值加载到 Map 中?

java - 当后台线程运行时,如何在 jpanel 中显示时间?

html - css3 border-image的透明png问题

具有透明度的图像上的 jQuery 悬停过渡

javascript - Java中的Math.exp计算错误?

java - C#按位异或(^)与Java按位异或(^)对比

java - 如何在 Hibernate 中正确使用 clear()、evict() 和 close() 方法?

java - 为什么 JTable 没有显示?

java - SwingerWorker 在小程序中用于角色动画?

css - 样式 DIV 箭头轮廓 - 制作空心三 Angular 形