Setar imagem num JPanel

3 respostas
brunofs8

Boa tarde galera, pintou uma dúvida cruel aqui. Seguinte: eu tenho um JComcobox que o usuário seleciona um item, a partir desse item eu pego o valor que ele selecionou e troco a imagem que fica dentro de um Jpanel, o problema é que eu não sei como mandar a imagem para lá =].

dêm uma olhada no código

JLabel escudo = new JLabel (); escudo.setHorizontalAlignment(JLabel.CENTER); clube = ClubeBR.getSelectedItem().toString();
o JPanel em que a imagem deveria aparecer é o PainelEscudo
e a imagem está dentro da pasta src/logos/Brasil

ficaria grato se puderem me ajudar.

3 Respostas

diego2005

Vê se esse exemplo ajuda:

import javax.swing.*;

public class Teste extends JFrame {

    public Teste() {
        JPanel painelEscudo = new JPanel();
        painelEscudo.add(new JLabel(new ImageIcon("C:\Arquivos de programas\Messenger\logowin.gif")));

        this.add(painelEscudo);

        setVisible(true);
        pack();
    }

    public static void main(String[] args) {
        new Teste();
    }
}

T+

brunofs8

tentei adaptar esse exemplo que você postou mas não funcionou aqui não, acho que não peguei bem a idéia.

olha só o código
private void ClubeBRActionPerformed(java.awt.event.ActionEvent evt) {                                        
clube = ClubeBR.getSelectedItem().toString();
System.out.println(clube);

JPanel painelEscudo = new JPanel();
painelEscudo.add(new JLabel(new ImageIcon("C:\logos\Brasil\Flamengo.png")));
this.add(painelEscudo);
setVisible(true);
pack();
}
aparece esse erro
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
        at org.netbeans.lib.awtextra.AbsoluteLayout.addLayoutComponent(Unknown Source)
        at java.awt.Container.addImpl(Container.java:1068)
        at java.awt.Container.add(Container.java:935)
        at javax.swing.JFrame.addImpl(JFrame.java:545)
        at java.awt.Container.add(Container.java:352)
        at exemplo.resumo.ClubeBRActionPerformed(resumo.java:134)
        at exemplo.resumo.access$100(resumo.java:5)
        at exemplo.resumo$2.actionPerformed(resumo.java:56)
        at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1242)
        at javax.swing.JComboBox.setSelectedItem(JComboBox.java:569)
        at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:605)
        at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:814)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:480)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
diego2005

Não tenho certeza, mas acho que o ImageIcon só aceita .gif e .jpg

Faça um teste com algum arquivo dessas extenções pra ver se funciona, qualquer coisa posta aqui de novo.

T+

Criado 16 de maio de 2009
Ultima resposta 17 de mai. de 2009
Respostas 3
Participantes 2