Fala ae pessoal, eu estou criando um menu de um programa, usando objetos da classe AWT(Graphics) e Swing(JFrame, JPanel, JLabel). Eu desenvolvi um código, onde a imagem de fundo é em Graphics e o texto/caixa de diálogo, são feitos em Swing. Só que eis o problema, quando esses objetos são adicionados por cima da imagem, eles ficam com um retângulo cinza em volta deles, ficando uma coisa feia, e eu gostaria que não tivesse isso, que fosse transparente, tornando assim o programa mais agradável esteticamente. Eis o código:
public static void tela() {
screen.setPreferredSize(new Dimension(500,500));
screen.pack();
screen.setLocationRelativeTo(null);
screen.setDefaultCloseOperation(screen.EXIT_ON_CLOSE);
screen.setResizable(false);
Dialogo();
screen.setVisible(true);
}
public static void Dialogo(){
ImageIcon icone = criarImageIcon("Sol.png","sol");
pan1.setLayout(fl);
dialogo1.setFont(fonteGrande);
pan1.add(dialogo1);
pan2.setLayout(fl);
dialogo2.setFont(fontePequena);
pan2.add(dialogo2);
pan2.add(caixa);
pan3 = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Image img = icone.getImage();
g.drawImage(img, 0, 0, this);
}
};
pan3.add(pan1);
pan3.add(pan2);
screen.add(pan3);
}
}
E aqui a imagem de como ficou: https://imgur.com/a/NiiczlV