我目前有一个设置背景的功能,有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;
}
答案 0 :(得分:-1)
您是否尝试将颜色设置为透明? 试试这个:
playButton.setBackground(new Color(0.0f, 0.0f, 0.0f, 0.3f);
这将R设置为0,G设置为0,B设置为0,alpha(透明度)设置为0.3。 确保使用浮点值来设置颜色。数字可以调整到你喜欢的任何地方。如果要更改透明度,请将最后一个数字更改为更高,以获得更多不透明度,将更低值更改为更少。
祝你好运!