Imagem no centro do Jframe Principal

Como faço para deixar uma imagem no centro da minha Jframe principal??? tipo quando eu alterar o tamanho da tela a imagem ainda fica no centro da tela??
a tela eu ja tenhu feita é só a parte da imagem no centro q me falta

Cara nao sei se da pra ficar centralizado sempre ms tipo
vc vai ter adicionar um butao ou um label e nele colocar a imagem
simples assim.

Você deve ter colocado um JPanel “root” na sua janela.

Ao invés de usar um JPanel, pode criar um novo e alterar o seu paint:

public static class Panel extends JPanel {		
		private Image image = ...
		
		@Override
		protected void paintComponent(Graphics g) {			
			super.paintComponent(g);
			int x = 0;
			int y = 0;
			g.drawImage(image, x,y,null);
		}
	}

Nesse exemplo não está no centro, mas com o tamanho da imagem e o tamanho do painel é possível calcular direitinho o X e Y para centralizar ok?

No lugar do JLabel, use o JImagePanel.
http://www.guj.com.br/posts/list/56248.java#295271

Ele tem a opção de esticar, centralizar ou deixar a imagem lado-a-lado.

Por sinal, evite duplicar tópicos. Sua dúvida é exatamente igual a essa aqui:
http://www.guj.com.br/posts/list/207209.java

Você apenas reformulou a pergunta. Poderia ter feito isso no tópico original.

Fiz algumas alterações no código para ele centralizar direito em um JFrame

		@SuppressWarnings("serial")
		JPanel content = new JPanel() {
			@Override
			protected void paintComponent(Graphics g) {
				Image imagem = new ImageIcon(getClass().getResource("moneyBucket.png")).getImage();
				
				super.paintComponent(g);
				int x = (this.getSize().width - imagem.getWidth(null)) / 2;
				int y = (this.getSize().height - imagem.getHeight(null)) / 2;
				g.drawImage(imagem, x, y, null);
			}
		};
		this.setContentPane(content);

Espero que ajude!

[quote=brenodepaula]Fiz algumas alterações no código para ele centralizar direito em um JFrame
Espero que ajude![/quote]

Interessante. Mas precisava mesmo ressuscitar um tópico de 4 anos para dar essa resposta?

Outra coisa. Não carregue a imagem dentro do paintComponent. Esse método é chamado com frequencia. Crie o ImageIcon fora (ou, melhor ainda, carregue um BufferedImage com o ImageIO.read) e só use-o dentro do paintComponent.