Como disparar um evento via código?

Pessoal,

Tenho um JFrame e nele um JPanel. Nesse JPanel existe um JLabel e um método privado à classe JPanel (feito no Netbeans e não tem como deixar público) que é o código executado quando o usuário clica nesse JLabel.

Aí está o método privado:


    private void anterior(java.awt.event.MouseEvent evt) {                          

        try {
            
            Citacao citacao = CitacaoDAO.recuperarAAnterior(CitacaoDAO.recuperarAAtual());
            Autor   autor   = AutorDAO.recuperarPorCitacao(citacao);
            
            this.lblTexto.setText(Formatador.formatarUsandoHtml(citacao.getTexto(), autor.getNome())); 
            
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro ao procurar a nota anterior!", "Erro!", JOptionPane.ERROR_MESSAGE);
        }

    }   

Num método chamado initComponents (que o Netbeans cria e que não pode ser alterado), o método privado é adicionado ao listener do JLabel:


        lblAnterior.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                anterior(evt);
            }
        });

Note que o JLabel chamado lblAnterior é local ao método initComponents (ou seja, depois da execução desse método, essa variável deixa de existir e eu não tenho mais como acessá-la diretamente).

De uma outra classe qualquer (que tem acesso a instância do JFrame), eu preciso chamar esse evento via código Java. Como posso fazer isso? Eu consigo recuperar o JPanel, chamado Conteudo, sem problemas através de

mas a partir daí eu não sei como fazê-lo.

Agradeço qualquer sugestão.

Um abração.

Sabe o método que é chamado ( anterior(evt); )? É só chamar ele na outra parte da aplicação, obtendo uma referência ao JFrame que tem o método.

Ai você me pergunta, e o ActionEvent? Se você não estiver usando o objeto evt dentro do seu método, é só vc chamar anterior( null );

Até mais!

Valeu pela resposta, Davi.

O problema é que o método é privado e é o Netbeans que o cria assim. Se eu mudo fora do Netbeans, quando eu reabro o projeto nele, ele reconstrói para privado.

Eu posso fazer uma gambiarra e colocar o que está dentro do anterior para um método público, mas queria ver se tinha alguma forma de eu disparar um evento via código.

De qualquer forma, muito obrigado.

Pessoal, resolvi o problema criando um método público e chamando este tanto do método privado quanto da outra classe.

Abração!