Bom dia galera!
Estou fazendo um trabalho pra facul onde devo criar um campo minado(o qual já criei), então como implementaçãoes adicionais gostaria de colocar uma imagem de tema no fundo do JFrame, alguém ai sabe como fazer isso, pesquisei e não encontrei como…
Agradeço desde já!!!
yhhik
Outubro 31, 2011, 7:53am
#2
[code]ImageIcon img = new ImageIcon(getClass().getResource("/endereco/sua/imagem.gif"));
JLabel imagem = new JLabel(img);[/code]
Então cara, já tentei assim, o problema é que ele sobrepoe o campo minado, quero que ele fique de fundo, como um papel de parede sacas?
Obrigado de qualquer maneira brother!
yhhik
Outubro 31, 2011, 8:37am
#4
é pq vc não está utilizando da maneira correta!
acabei de fazer veja:[code]import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class guj extends JFrame {
private JButton butao;
private JTextField txt;
private JPanel painel;
private ImageIcon img;
private JLabel imagem;
public guj(){
painel = new JPanel();
painel.setOpaque(false);
painel.setLayout(new FlowLayout(FlowLayout.CENTER));
butao=new JButton("exemplo");
txt=new JTextField(15);
painel.add(butao);
painel.add(txt);
setGlassPane(painel);
getGlassPane().setVisible(true);
Container c = getContentPane();
c.setLayout(new BorderLayout());
img = new ImageIcon(getClass().getResource("/fundo.gif"));
imagem = new JLabel(img);
c.add(imagem, BorderLayout.CENTER);
c.setBackground(Color.BLACK);
this.setSize(310, 240);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new guj();
}
}
[/code]
todos os components que eu add no painel ficam por cima da imagem.
entaoseu campo deve ser add no painel
lokits5
Outubro 31, 2011, 8:58am
#5
Tem essa forma tbm de se fazer, deixa a tela todo com o tamanho da imagem…
[code]public class JSeuPainel extends JPanel
{
Image im = new ImageIcon ( getClass ( ).getResource ( "/fundo.png" ) ).getImage ( ); ---- sua imagem
public void paintComponent ( Graphics g )
{
super.paintComponent ( g );
int x = ( this.getWidth ( ) - im.getWidth ( null ) ) / 2;
int y = ( this.getHeight ( ) - im.getHeight ( null ) ) / 2;
g.drawImage ( im , x , y , this );
}
} [/code]
1 curtida