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
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.