Telas atras das imagens

1 resposta
A

fala galera blz... então to precisando de uma ajuda... fiz uma aplicação onde uso um JDesktopPane e nele coloquei uma imagem inserindo um JLabel no JDesktopPane. fiz isso usando o codigo abaixo.

Icon imagem = new ImageIcon("C:/Arquivos de programas/Satrac_Oficina/IReport/foto.jpg");
        JLabel lab = new JLabel();
        lab.setIcon(imagem);
        double alt = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
        double larg = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        
        int altura = (int) alt;
        int largura = (int) larg;
        
        lab.setBounds(0,0,largura,altura);
        
        desktop.add(lab);

só q tem alguma telas q não abrem... ou melhor. elas abrem só q ficam atras da imagem q inseri... ja utilizei o metodo moveToFront e o metodo setVisibile(true) mas nada resolveu.. alguem ai tem alguma dica de como resolver isso??

1 Resposta

jopss

vc quer colocar uma imagem de fundo no JDesktopPane ?

se for, tenho essa:

public class PanelImageBack extends JDesktopPane{
    private ImageIcon image;
    
    public PanelImageBack(String pathImage) {
        image = new ImageIcon(pathImage);
    }
    
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        image.paintIcon(this, g, 0, 0);
    }
    
    @Override
    public Dimension getPreferredSize() {
        return new Dimension(image.getIconWidth(),
                image.getIconHeight() );
    }
    
    //adiciona um componente ao JDesktopPane
    //add a component to the JDesktopPane
    public void addComponent(Component c){
        this.add(c);
    }
    
}

e para usar, no meu caso, eu seto ele dentro de outro painel, por que uso em outras telas.
Tenho entao um JPanel chamado panelImageCenter, e:

PanelImageBack backIMG = new PanelImageBack("url_da_imagem");
panelImageCenter.removeAll();
panelImageCenter.add(backIMG, java.awt.BorderLayout.CENTER);
panelImageCenter.validate();

jopss :stuck_out_tongue:

Criado 5 de maio de 2008
Ultima resposta 5 de mai. de 2008
Respostas 1
Participantes 2