Plano de fundo (background)

4 respostas
O

Tenho uma classe que extends JPanel.
Crio um objeto dela em outra classe.
Queria colocar uma imagem de fundo.
Meu código está assim:

JFlipPanel turnerNewsPaper = new JFlipPanel(); turnerNewsPaper.setBackground(new Color(157,185,235));

O fundo está azul.
Alguém sabe como faço pra colocar uma imagem de fundo no panel?

4 Respostas

R

http://www.guj.com.br/posts/list/124677.java#673852

O

Então Roger, não deu certo.
A imagem não ficou de fundo.
Ficou como imagem principal e desapareceu o que tinha na tela.
Meu método ficou assim:

public void paintComponent(Graphics g) {

            img = new ImageIcon("img/ibope.jpg").getImage();

            Graphics2D g2 = (Graphics2D) g;
            g2.drawImage(img, 50, 0, null);
            g2.dispose();
            setGraphicsHints(g2);

		// background
            g.setColor(this.getBackground());
            g.fillRect(0, 0, img.getWidth(this), img.getHeight(this));

		// page 1
            paintPage(g2, currentLeftImage, bookBounds.x, bookBounds.y, pageWidth, bookBounds.height, this, false);

		// page 2
            paintPage(g2, currentRightImage, bookBounds.x + pageWidth, bookBounds.y, pageWidth, bookBounds.height, this, true);

		if (leftPageTurn) {
			if (softClipping) {
				paintLeftPageSoftClipped(g2);
			} else {
				paintLeftPage(g2);
			}
		} else {
			if (softClipping) {
				paintRightPageSoftClipped(g2);
			} else {
				paintRightPage(g2);
			}
		}
	}

O que será que eu estou fazendo de errado?

R

Alguns comentários:

  • Para preservar a pintura herdada da classe ancestral, a primeira linha do seu método paintComponent() deve chamar a implementação do ancestral:
  • NÃO se deve mais usar um objeto Graphics2D depois de chamar dispose() sobre ele.
Nicolas_Fernandes

Olá, Octavio!

Procure sobre SpringLayout. Pode te ajudar!

[]'s

Criado 16 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 4
Participantes 3