Acessar um evento de outra classe

3 respostas
S

Pessoal, estou com uma dúvida que está me deixando maluco.

Meu código está grande, portanto vamos ao que interessa:

Tenho uma classe GUIControle onde criei varios objetos, e um deles é o botão que está complicando minha vida.

ligarDesligarSala1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ligarDesligarSala1ActionPerformed();
        }
    });

    public void ligarDesligarSala1ActionPerformed() {
        ImageIcon ii = new ImageIcon("c:\planta-baixa-casa1.jpg");
       	jLabel6.setIcon((ii));
        System.out.println("OK");
    }

o evento serve para atualizar a img do meu label.
Quando eu clico no botão, tudo funciona. Quando eu chamo este método ligarDesligarSala1ActionPerformed() de dentro da propria classe, tmbm funciona. Agora o que me deixa intrigado é que quando chamo o método de outra classe, não funciona, na verdade ele chama o método pois o OK é impresso, mas a img não muda.

Sabem o que tenho que fazer???

3 Respostas

L

Se o metodo é executado porem a imagem não muda, experimente invocar o metodo repaint do JLabel que possui a imagem, ou um repaint na tela onde está o seu JLabel…

depois diga se funcionou…

arbaço

S
Entao, ja tentei isso e não deu certo.

Tentei os 3 abaixo, porem, continua sem atualizar a imagem.

jLabel6.repaint();

jLabel6.updateUI();

jLabel6.validate();

O que não consigo entender, é que quando chamo o método atravéz do clique de outro botão, funciona, mas eu não quero clicar, quero chamar apenas no código.

S
<blockquote><div class="quote-author">speelcraft:</div>Entao, ja tentei isso e não deu certo.

Tentei os 3 abaixo, porem, continua sem atualizar a imagem.

jLabel6.repaint();

jLabel6.updateUI();

jLabel6.validate();

O que não consigo entender, é que quando chamo o método atravéz do clique de outro botão, funciona, mas eu não quero clicar, quero chamar apenas no código.

Cara consegui arrumar.
Foi um erro meu. Mancada de iniciante.

Na verdade esta classe foi criada atravéz de uma instancia e quando eu tentava instanciar ela pela segunda vez, não atualizava mais. Isto porque eu estava atualizando a Instancia da Instancia rsrs
Nao sei se conseguiu entender o problema.

De qualquer forma muito obrigado.

Criado 17 de novembro de 2010
Ultima resposta 17 de nov. de 2010
Respostas 3
Participantes 2