Estou desenvolvendo um sistema de login/cadastro bem simples com Java. Estou utilizando o VsCode com a extensão de compilação.
Tenho uma classe Login que herda JFrame e possui os componentes, e uma PanelDegrade que eh a responsável por renderizar uma imagem de fundo atraves de drawImage(), a imagem eh renderizada perfeitamente.
O problema eh, com a imagem renderizada, a minha label fica sobreposta pela imagem, e eu perco o conteudo do JFrame, sendo tudo imagem
classe Login->
package IComponents.interfaces;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.HashMap;
import IComponents.components.*;
import IComponents.utils.*;
public class Login extends DefaultScreen {
public Login(int width, int height) {
super(width, height);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
Container container = getContentPane();
HashMap labelProps = new HashMap();
labelProps.put("position", PropsFormatter.position(0, 0, 200, 100));
labelProps.put("text", "Eu sou uma label");
JLabel label = new DefaultLabel().addProps(labelProps);
JPanel painel = new PanelDegrade();
painel.setSize(600, 600);
painel.setLayout(null);
painel.setVisible(true);
painel.add(label);
setContentPane(painel);
container.add(label);
setVisible(true);
}
}
classe PaneDegrade ->
package IComponents.components;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.Graphics;
import java.awt.image.*;
import javax.imageio.ImageIO;
public class PanelDegrade extends JPanel {
private static final long serialVersionUID = 1L;
BufferedImage imagem = null;
@Override
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
try {
this.imagem = ImageIO.read(new File("src/degrade.png"));
g2.drawImage(imagem, 0, 0, 600, 600, this);
} catch (Exception e) {
e.printStackTrace();
}
this.paintComponents(g);
g.dispose();
}
}
a tela que me retorna ->
Se alguem puder me dar uma luz, eu agradeceria imensamente, estou iniciando em desenvolvimento grafico com java