JPanel com imagem de fundo não exibe componentes

Bom dia,
Tenho um JPanel com imagem de fundo porém ao adicionar uma componente a este container o componente não é exibido porém é adicionado com sucesso.
Alguém tem alguma ideia de como resolver o problema?

Segue código.

public class Main {

public static void main(String[] args) {

	MainFrame mainFrame = new MainFrame();
	ImagePanel imageSeer = new ImagePanel("mr.png");
	ImagePanel imageBalloon = new ImagePanel("balloon.png");

	imageSeer.setPreferredSize(mainFrame.getSize());
	imageBalloon.setPreferredSize(new Dimension(200, 100));

	mainFrame.setContentPane(imageSeer);
	mainFrame.getContentPane().add(imageBalloon);
	mainFrame.setVisible(true);

	mainFrame.addKeyListener(new KeyAdapter() {
		@Override
		public void keyPressed(KeyEvent e) {
			if (e.getKeyCode() == KeyEvent.VK_ENTER)
				System.out.println(imageSeer.getComponents().length);
		}
	});
}

}

1 curtida

Fiz alguns testes com JButtons e JTextFields e estes são exibidos, porém os JLabels não são exibidos.
Alguém saberia do por que?

Encontrei o problema, para criar o ImagePanel estava utilizando o método paint(Graphics g) ao invés do paintComponent(Graphics g).
Problema resolvido. :vulcan_salute:

1 curtida

Talvez o ImagePanel que criei há algum tempo, possa ser útil:

Valeu Staroski

1 curtida