Ajuda actionPerformed

1 resposta
T

Gostaria de criar um ActionListener que retornasse o texto do botão clicado, algum tem alguma idéia de como fazer?

ActionListener allButtons = new ActionListener() {
        public void actionPerformed(ActionEvent ev) {
             metodoQualquer(botaoClicado.getText()); 
        }
    };

1 Resposta

renzonuccitelli

No padrão Observer, muito utilizado no Swing e outros frameworks visuais, o evento é responsável por carregar todos os dados necessários para posterior processamento. Sempre procure por métodos úteis no evento. Ex que resolve seu problema:

package heranca.classe;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		JFrame f = new JFrame();
		f.setVisible(true);
		JButton b = new JButton("Meu botão");
		b.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				JButton button = (JButton) event.getSource();
				System.out.println(button.getText());
			}
		});
		f.add(b);
	}
}

[]s

Criado 23 de novembro de 2010
Ultima resposta 23 de nov. de 2010
Respostas 1
Participantes 2