[RESOLVIDO] Imagem de fundo em JFrame

4 respostas
C

Olá. Já procurei muito e muito agora estou aqui rs

É o seguinte. Tenho a minha JFrame que contem JDesktopPane

Quero colocar uma imagem de fundo que se ajuste a minha tela ou a tela de qualquer computador
quando maximizado ou restaurado

Pesquisei e achei esse aqui Imagem fundo Container

Ele extende ou duplica. Até ai legal. Mas se eu implmentar no meu codigo, o Desktop some. Ai nao consigo mais executar os JInternalFrame, até executo, mas nao aparece na tela
Ideias?

4 Respostas

ViniGodoy
O certo é fazer assim:
public class JImageDesktopPane extends JDesktopPane {

        private Image img;

        public DecoratedDesktopPane(String url) {
            try {
                img = ImageIO.read(getClass().getResource(url));
            } catch (Exception ex) {
            }
        }

        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            if (img != null) {                
                g.drawImage(img, x, y, getSize().getWidth(), getSize().getHeigth(), null);
            } else {
                g.drawString("Imagem não encontrada", 100, 100);
            }
        }
    }
Se a imagem estiver no pacote br.com.guj e chamar-se guj.png, você usaria assim:
JImageDesktopPane desktopPane = new JImageDesktopPane("/br/com/guj/guj.png");
C

Beleza vou tentar em casa

É porque no codigo dele ele chama assim

public class SuaFrame extends JFrame{  
  
   public SuaFrame(){  
      setContentPane(new Fundo()); //importante! antes de colocar os componentes  
      //init a frame...  
   }  
  
 //....  
  
}

Tow usando o netbeans

ViniGodoy

O código dele estende um JPanel. Esse um JDesktopPane diretamente.

C

Beleza deu certo

Do jeito dele tambem se eu estender como JDesktopPane e chamar do jeito que vc orientou tambem dar certo

Vlw

Criado 31 de janeiro de 2013
Ultima resposta 1 de fev. de 2013
Respostas 4
Participantes 2