Imagem

oie

eu tenho um JLabel com uma iage e quando eu clico em um botão (que tbm é uma Imagem (evento MouseListener))
a imagem do que esta no meu JLabel num é trocada

como que faço para trocar essas imagens

eu não percebi bem, você quer que a Label mude de imagem ao carregar no botão?

não não
eu tenho uma imagem dentro de um JLabel
dai quando eu clicar no botão a imagem é substituida por putra

pq no meu programa a pessoa pode trocar o plano de fundo do programa

tendeu??

acho que já percebi.

voçe pode fazer assim:

[code]
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Buttont extends JFrame {

JButton b1 = new JButton("Image1");
JButton b2 = new JButton("Image2");
JButton b3 = new JButton("Image3");
JLabel lb = new JLabel();

//os nomes das imagens que se encontram nos recursos
private String names[] = {"hero1.png", "hero2.png", "hero3.png"}; 


//como existem três imagens, cada uma tem um nome (0 ao 2)
 private Icon icons[] = {
		         new ImageIcon( getClass().getResource( names[ 0 ] ) ),
		         new ImageIcon( getClass().getResource( names[ 1 ] ) ),
		         new ImageIcon( getClass().getResource( names[ 2 ] ) ) };

public Buttont()
{
super(“Butões e imagens”);
setLayout(new FlowLayout());
this.setVisible(true);
this.setSize(300,300);

add(b1); 
add(b2);
add(b3);
add(lb);
Handler oo = new Handler();  
b1.addActionListener(oo);  
b2.addActionListener(oo);
b3.addActionListener(oo);

}

//esta classe corresponde a cada evento(se clicarmos num butão iremos chamar um evento)
private class Handler implements ActionListener
{
public void actionPerformed(ActionEvent e )
{
//se clicarmos no butão 1, a imagem 0 aparece
if (e.getSource()==b1)
{
lb.setIcon(icons[0]);
}

	if (e.getSource()==b2)
	{
		lb.setIcon(icons[1]);
	}
	
	if (e.getSource()==b3)
	{
		lb.setIcon(icons[2]);
	}
	
	
}

}

public static void main (String[] args)
{

new Buttont();

}

}[/code]

Nesta classe existem três imagens. Cada botão apresenta uma imagem que irá ser a imagem da LAbel.
Portanto ela muda.