Como colocar uma figura com plano de fundo

4 respostas
W

bom dia

alguel pode me ajudar, eu estou com problemas para colocar uma figura como plano de fundo num frame.

4 Respostas

S

ja tentou usar o ImageIcon??

F

da uma olhada neste codigo!

package panel;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 * @author fabiofalci
 */
public class MyPanel extends JPanel {

    private Image background;
    
    public MyPanel() {
        this.initialize();
    }
    
    protected void initialize() {
        this.background = this.getImage("background.gif").getImage();        
        this.setLayout(null);
        
        JTextField textField = new JTextField("Label");
        textField.setBounds(20, 20, 100, 22);
        this.add(textField);
        
        JButton b = new JButton("Button");
        b.setBounds(130, 20, 100, 22);
        this.add(b);
    }
    
    public ImageIcon getImage(String path) {               
        URL imageURL = getClass().getResource(path);
        if (imageURL == null)
            return null;
        
        return new ImageIcon(imageURL);         
    }    
    
    public void paintComponent(Graphics g) {            
        Dimension dDesktop = this.getSize();
        g.clearRect(0, 0, dDesktop.width, dDesktop.height); // limpa a tela
                
        double width = dDesktop.getWidth();        
        double height = dDesktop.getHeight();        
                
        int x = (int)(width - background.getWidth(null)) / 2;
        int y = (int)(height - background.getHeight(null)) / 2;

        g.drawImage(background, x, y, this);
    }            
    
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        MyPanel panel = new MyPanel();
        frame.setContentPane(panel);        
        frame.setSize(300, 300);
        frame.show();
    }
}

ah… coloca uma figura no teu pacote chamada background.gif

W

esta dando este erro

<blockquote>java.lang.NullPointerException

at JPanel.MyPanel.initialize(MyPanel.java:40)

at JPanel.MyPanel.<init>(MyPanel.java:36)

at JPanel.MyPanel.main(MyPanel.java:76)

Exception in thread “main” </blockquote>

eu ja coloquei a figura mas nao deu certo

eu tambem criei um pacote chamado JPanel mas tambem nao deu certo.
esse pacote JPanel vem de onde?

S

iiiii cara soh vendo na minha casa mesmo pra ver isso pqno trab aki n tem jAVA ai eh foda…
se vc quiser esperar ateh sabado…

Criado 7 de abril de 2005
Ultima resposta 7 de abr. de 2005
Respostas 4
Participantes 3