Segue dois exemplos abaixo para inserir uma imagem de backgroud em um JPanel
Neste primeiro exemplo faz a imagem (“fundoPrincipal”) ser automaticamente redimencionada quando voce altera o tamanho da janela. Podendo tambem inserir uma imagem maior do que o tamanho do painel.
/** Método que define a imagem de fundo da tela principal * Com redimencionamento * @param g * @see JComponent#paintComponent(java.awt.Graphics) */ @Override public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g.create(); g2d.drawImage(fundoPrincipal, 0, 0, this.getWidth(), this.getHeight(), null); g2d.dispose(); }
Já neste exemplo a imagem (“fundoLogin”) fica do tamanho original e centralizada no painel sem alteração caso a janela mude de tamanho.
/** Método que define a imagem de fundo da tela principal * Centralizado sem redimencionamento de imagem. * @param g * @see Graphics */ @Override public void paintComponent(Graphics g) { super.paintComponent(g); int x = (this.getWidth() - fundoLogin.getWidth(null)); int y = (this.getHeight() - fundoLogin.getHeight(null)); g.drawImage(fundoLogin, x, y, this); }
Segue uma imagem como ficaria:
É isso ae muito simples de se implementar….
Obrigado.
Guilherme B. Zarelli