Comando Jbuton

Gente já procurei bastante e não achei nada.

Gostaria de saber como crio uma função para um botão sem ser criada uma inner class (classe$1.class)

A única GUI é um botão de cancelar

... JButton botao = new JButton("Cancelar"); botao.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } } ); ...
Não é viável para mim criar 2 classes :confused:
Grato

E qual é o problema com a inner class?

Existe uma maneira pouco elegante. É você fazer seu JFrame implementar actionListener e fazer seu botão dar um addActionListener em this.

O problema dessa abordagem é que com vários botões, você precisa testar quem é a origem do evento através do método getSource() e acaba espagueteando o seu código num grande if na hora de tratar o evento de botão.

Meu problema é o seguinte, a aplicação java que estou fazendo apenas dispara um relatório do Jasper, e o unico objetivo de GUI é um botão para cancelar o relatório, assim também não seria muito elegante criar 2 classes para isso :confused:

Só para aproveitar… na tela de aguarde processando tinha uma imagem também, o JAVA não está mais encontrando a imagem, será que foi coincidencia isso acontecer junto com a criação da inner class?? (a imagem existe e eu passei o caminho dela correto)

Não vejo porque não seja elegante, mas enfim, tem a alternativa que eu passei. Se é mesmo o único botão de sua interface, não será problema.

Provavelmente foi coincidência.

Obrigado, vou usar o modelo que voce me passou :slight_smile: