Imagem no JPanel?

3 respostas
sanson

Como eu faço pra peger uma imagem de um JPanel e colocar em outro JPanel??
OBS: os JPanels são de tamanhos diferentes, por exemplo: um tem tamanho [200,200] e outro tem o tamanho de [100,100]

Obrigado

Luiz Bernardo

3 Respostas

D

Acho que o ideal seria escrever uma classe que estenda JPanel e que tenha um método para ajustar uma imagem, tipo setBackgroundImage(Image img), e um outro método para obtê-la, tipo getBackgroundImage()…; assim vc poderá obter imagens entre os seus JPanels estendidos…

sanson

Como eu faço isso?

D

mais ou menos assim: vc cria uma classe que estende JPanel...; daí vc sobre-escreve o método paintComponent() que é onde vc vai desenhar a imagem (daí vc pode inventar, se a imagem for menor vc pode fazer tile, centralizar, expandir, o diabo!)...

class MeuPanel extends JPanel
{      private Image backgrImg;

        public MeuPanel() { /* construtor */ }

        public MeuPanel(Image img) {
              /* outro construtor que recebe a imagem como arg */
              backgrImg = img;
        }

        public void paintComponent(Graphics g) {
              super.paintComponent(g)
              if (backgrImg != null) {
                      // aqui é onde vc desenha a imagem...
                      // veja na API a classe Graphics.drawImage(...)
              }
        }
}

Tendeu? Se não me engano, isso já foi discutido aqui no fórum... de qualquer modo, dá uma pesquisadinha...

Espero ter ajudado.

Criado 13 de outubro de 2003
Ultima resposta 13 de out. de 2003
Respostas 3
Participantes 2