Oi, ainda sou nova na linguagem Java e gostaria de saber como faço para aparecer uma imagem ao clicar no JButton…
Por exemplo, tenho um botão com um desenho e ao clicar gostaria que aparecesse outro no lugar dele…
Obrigada! 
Imagem ao clicar no JButton
4 Respostas
se eu entendi direito e simples
vc ja esta atribuindo uma imagem ao botao, portanto no evento mouse clicked vc atribui a imagem que vc quer substituindo a anterior.
espero ter ajudado…
Voçê pode, dentro de uma JFrame, criar 2 painéis, colocando os botoes num painel e deixar o outro livre, quando voce executar o clique em determinado botao, no outro painel ele executara determinada funcao, para voce apenas trocar a imagem do botao e a mesma coisa, mas vc precisa de apenas 1 painel, crie um vetor, associe a cada indice uma imagem, ao realizar a acao de clicar no botao, vc pega a imagem do associada ao indice seguinte …
Se vc quiser, me passe seu email, tenho um otimo exemplo dessa aplicacao, é que sao 4 classes, pra coloca-las aqui ficariam 1/2 grandes
Por exemplo, essa seria a classe de botoes, que executaria as acoes num outro painel
package quadros;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class PainelBotao extends JPanel
{
// Atributos da Janelala
private JButton[] botao = new JButton[6];
private ImageIcon[] icone = new ImageIcon[6];
private int tipoMostra;
private JPanel painelInternoBotoes = new JPanel();
private PainelMostra mostra = new PainelMostra();
JFrame frame;
// Imagens
String imagemImpressionistas[] =
{ "Imagens/VanGoghGalleryPlayer",
"Imagens/SisleyGalleryPlayer",
"Imagens/SargentGalleryPlayer",
"Imagens/RenoirGalleryPlayer",
"Imagens/HassamGalleryPlayer",
"Imagens/DegasGalleryPlayer"};
String imagemViagens[] =
{ "Imagens/BaliGalleryPlayer",
"Imagens/RomeGalleryPlayer",
"Imagens/RussiaGalleryPlayer",
"Imagens/VeniceGalleryPlayer",
"Imagens/SydneyGalleryPlayer"};
// Texto e Mnnemonicos
String textoImpressionistas[] = {"Van Gogh", "Sisley", "Sargent", "Renoir", "Hassam", "Degas"};
int MnemonicImpressionistas[] = {KeyEvent.VK_V, KeyEvent.VK_S, KeyEvent.VK_A, KeyEvent.VK_R ,KeyEvent.VK_H, KeyEvent.VK_D};
String textoViagens[] = {"Bali", "Roma", "Russia", "Veneza", "Sydney"};
int MnemonicViagens[] = {KeyEvent.VK_B, KeyEvent.VK_R, KeyEvent.VK_U, KeyEvent.VK_V ,KeyEvent.VK_S};
public void desenhaPainel (JFrame meuFrame, int tipo)
{
tipoMostra = tipo;
frame = meuFrame;
//------------Layout do Painel e Painel Botoes
setLayout(new BorderLayout());
painelInternoBotoes.setLayout(new GridLayout(0,1));
//------------PainelBotao
UsuarioHandler handler = new UsuarioHandler();
painelInternoBotoes.removeAll();
// Verifica Menu
if(tipo == 1)
for(int i = 0; i < imagemImpressionistas.length; i++)
{
icone[i] = new ImageIcon(imagemImpressionistas[i]+"_Thumb.jpg");
botao[i] = new JButton (textoImpressionistas[i], icone[i]);
botao[i].setMnemonic(MnemonicImpressionistas[i]);
botao[i].addActionListener(handler);
painelInternoBotoes.add(botao[i]);
}
else
for(int i = 0; i < imagemImpressionistas.length-1; i++)
{
icone[i] = new ImageIcon(imagemViagens[i]+"_Thumb.jpg");
botao[i] = new JButton (textoViagens[i], icone[i]);
botao[i].setMnemonic(MnemonicViagens[i]);
botao[i].addActionListener(handler);
painelInternoBotoes.add(botao[i]);
}
// Adiciona o primeiro painel
mostra.desenhaPainel(meuFrame);
add(painelInternoBotoes, BorderLayout.WEST);
add(mostra, BorderLayout.CENTER);
}
public PainelMostra retornaPainel()
{
return mostra;
}
//------------Classe Ouvinte de Eventos
private class UsuarioHandler implements ActionListener
{
public void actionPerformed (ActionEvent evento)
{
int indice;
// Verifica de qual botao veio o evento
for(indice = 0; indice<botao.length; indice++)
if(evento.getSource() == botao[indice]) break;
// Dependendo do tipo - mostra a imagem correta
if(tipoMostra==1)
mostra.desenhaPainel(frame,
imagemImpressionistas[indice]+".jpg",
textoImpressionistas[indice] );
else
mostra.desenhaPainel(frame,
imagemViagens[indice]+".jpg",
textoViagens[indice] );
}
}
}
A partir dai, voce ja pode saber como tratar eventos, que e quem realmente vai fazer a troca das imagens
QQ duvida, escreva
Obrigada!

mil desculpas por não ter respondido antes…rsrs
beijos