Olá, eu criei a seguinte classe:
`
package gui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import Objects.Ceu;
public class Layers extends JFrame {
public static void main(String[] args) {
Layers l = new Layers();
l.setVisible(true);
}
public Layers() {
setTitle("layer-test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setUndecorated(true);
JLayeredPane pane = new JLayeredPane();
pane.setLayout(new BorderLayout());
Toolkit t = Toolkit.getDefaultToolkit();
Dimension d = t.getScreenSize();
ImageIcon back = new ImageIcon(getClass().getResource("/icons/main_menu_background.gif"));
ImageIcon back2 = new ImageIcon(getClass().getResource("/icons/main_menu_background2.gif"));
back.setImage(back.getImage().getScaledInstance(back.getIconWidth()/3,back.getIconHeight()/3,Image.SCALE_DEFAULT));
back2.setImage(back2.getImage().getScaledInstance(back2.getIconWidth()/3,back2.getIconHeight()/3,Image.SCALE_DEFAULT));
System.out.println("back: "+back.getIconWidth()+"x"+back.getIconHeight());
System.out.println("back2: "+back.getIconWidth()+"x"+back.getIconHeight());
JLabel l2 = new JLabel(back2);
JLabel l = new JLabel(back);
Ceu c = new Ceu(true,true,true,false,null,null,d.width,d.height);
l.setBorder(BorderFactory.createEtchedBorder());
l2.setBorder(BorderFactory.createEtchedBorder());
pane.add(c,BorderLayout.CENTER);
pane.add(l,BorderLayout.EAST);
pane.add(l2,BorderLayout.WEST);
l.setBounds(0,0,back.getIconWidth(),back.getIconHeight());
setContentPane(pane);
validate();
}
}
`
Meu objetivo era adicionar nos dois lados da tela dua jlabels e no meio a classe ceu que estende de jpanel só que utilizando jlayeredpane para que as jlabels ficassem sobre o jpanel, funcionou tudo corretamente porém mesmo os ícones das jlabels possuindo plano de fundo transparente elas estão com aquele plano de fundo padrão do java para jpanels. Tem como remover esse plano de fundo para que o jpanel fique somente atrás das imagens e não do plano de fundo delas?