jbutton拒绝改变透明度

时间:2014-05-25 11:48:36

标签: java swing user-interface jbutton

我目前有一个设置背景的功能,有1个按钮。该按钮是一个PNG文件,是透明的,我已经完成了所有setOpaque的东西,但按钮背后仍然有一个白色背景。如果有人能提供帮助将不胜感激! :)

我附上了我的功能:

public JPanel createContentPane() throws IOException{

    //Full back pane
    JPanel fullGUI = new JPanel();
    fullGUI.setLayout(null);

    //background pane
    JPanel backgroundPane = new JPanel() {
        BufferedImage image = ImageIO.read(new File("UI/back2.jpg"));

        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, 1200, 750, this);
        }
    };

    backgroundPane.setLayout(null);
    backgroundPane.setLocation(0,0);
    backgroundPane.setSize(1200,750);
    fullGUI.add(backgroundPane);

    //button pane
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(null);
    buttonPanel.setLocation(0, 250);
    buttonPanel.setSize(1200, 500);
    fullGUI.add(buttonPanel);


    JButton playButton = new JButton(new ImageIcon(("UI/play.png")));
    playButton.setLocation(399,47);
    playButton.setSize(405,308);
    playButton.setOpaque(false);
    playButton.setContentAreaFilled(false);
    playButton.setBorderPainted(false);
    playButton.setFocusPainted(false);
    buttonPanel.add(playButton);


    fullGUI.setOpaque(true);
    return fullGUI;


}

1 个答案:

答案 0 :(得分:-1)

您是否尝试将颜色设置为透明? 试试这个:

playButton.setBackground(new Color(0.0f, 0.0f, 0.0f, 0.3f);

这将R设置为0,G设置为0,B设置为0,alpha(透明度)设置为0.3。 确保使用浮点值来设置颜色。数字可以调整到你喜欢的任何地方。如果要更改透明度,请将最后一个数字更改为更高,以获得更多不透明度,将更低值更改为更少。

祝你好运!