首页 > 解决方案 > 让按钮上图像的透明部分透明

问题描述

我使用了 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();
    }
}

我怎样才能使图像的透明部分真正透明

提前感谢您的帮助^^

标签: javaswingbackgroundawttransparent

解决方案


在您的按钮上尝试以下方法:

b1.setBorderPainted(false);
b1.setContentAreaFilled(false);
b1.setFocusPainted(false);
b1.setOpaque(false);

推荐阅读