java - 让按钮上图像的透明部分透明
问题描述
我使用了 2 张图片,其中一张是屏幕的背景,另一张是按钮的背景。按钮的图像在某些部分是透明的。我希望它覆盖透明部分的背景图像
这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class TryOut1 extends JFrame
{
public TryOut1()
{
screen();
buttonDoor();
setSize(1280,1024);
}
public void screen(){
setSize(1280,1024);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setLayout(new BorderLayout());
setContentPane(new JLabel(new ImageIcon("Ziegel4.jpg")));
setLayout(new FlowLayout());
setSize(1280,1024);
}
public void buttonDoor(){
JButton b1 = new JButton(new ImageIcon("Tor2.png"));
b1.setEnabled(true);
b1.setVisible(true);
b1.setBackground(new Color( 0, 0, 0, 0) );
add(b1);
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
}
public static void main(String args[])
{
new TryOut1();
}
}
我怎样才能使图像的透明部分真正透明
提前感谢您的帮助^^
解决方案
在您的按钮上尝试以下方法:
b1.setBorderPainted(false);
b1.setContentAreaFilled(false);
b1.setFocusPainted(false);
b1.setOpaque(false);
推荐阅读
- curl - 当 csf 启用时 CURL 连接失败
- json - 如何在 ksql 中解析 Tumbling json 密钥格式
- docker - 无法拉取 docker 镜像;不允许写操作
- node.js - Node JS pdf-lib - 填写表单 - 缺少模板或表单字段未定义
- android - Noto Color Emoji 在 Flutter iOS 上不工作,但在 Android 上工作正常
- python - 绘制 SVC 拉普拉斯核的决策边界时出错
- java - 在运行 contextLoads 单元测试时避免连接到数据库
- pandas - Pandas 删除面板数据中时间序列不完整的行
- javascript - 在产品类别页面中显示随机图像
- java - 有哪些现成的选项允许 Wildfly 10.1 服务器使用 JWT 授权请求?