ActionListener

2 respostas
j.silvestre

Olá. porque que este código não compila , é praticamente um exemplo do use a cabeça java. ele dá erro na linha 19.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author jose
 */
// class Action_Listener {

//}



import javax.swing.*;
import java.awt.event.*; // for ouvir eventos

public class ouvindo implements ActionListener{
JButton botao1;
JButton botao2;

public static void main(String[] args){

    ouvindo exemplo = new ouvindo();
    exemplo.go();
}

public void go(){
 JFrame frame = new JFrame(); // crio um frame
 botao1 = new JButton("Button 1");
 botao1.addActionListener(this); // botão1 adicionado a lista de ouvintes
 botao2 = new JButton("Button 2");
 botao2.addActionListener(this); // botão2 adicionado a lista de ouvintes
 frame.getContentPane().add(botao1);
 frame.getContentPane().add(botao2);
 frame.setSize(300,300);
 frame.setVisible(true);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}
public void ActionPerformed(ActionEvent event) {
 String cmd = event.getActionCommand();
 botao1.setText("botao1 Clicado");
 if (cmd.equals("Button 2")) {
 botao2.setText("botao2 Clicado");
 }
 }

}

estou usando o netbeans …

sds

j.silvestre

2 Respostas

D

Bom dia j.silvestre!!!

Bom, a interface ActionListener requer que você sobrescreva o método actionPerformed()! Veja no seu código… Ele está escrito ActionPerformed, com A maíusculo, e o java e case sensitive!!

E outro detalhe, você adicionou dois botões em um Frame mas não setou nenhum tipo de Layout para o mesmo, isso irá resultar na sobreposição dos botões, e neste caso somente o botão 2 será visível! Você pode colocar o seguinte, logo após a instanciação do JFrame: frame.getContentPane().setLayout(new FlowLayout()); No caso do FlowLayout, todos os componentes irão ser colocados da esquerda para a direita!

Att.
Diego

j.silvestre

Diego. Obrigado.

sds

j.silvestre

Criado 11 de abril de 2011
Ultima resposta 11 de abr. de 2011
Respostas 2
Participantes 2