[resolvido e bem explicado] Capturar evento

5 respostas
cleyvison

Pessoal olha eu aqui dinovo, agora trago um programa que vc nunca viram, um calculadora, rsrsrsrsr… brincadeiras a parte boa tarde a todos.

Vamos a dúvida.

To tentando fazer uma calculadora, eis o codigo

import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class Tarefa01Mod02 extends JFrame{
	// cria campo texto e botoes
	JTextField visor = new JTextField(20);
	JButton zero = new JButton("0");
	JButton um = new JButton("1");
	JButton dois = new JButton("2");
	JButton tres = new JButton("3");
	JButton quatro = new JButton("4");
	JButton cinco = new JButton("5");
	JButton seis = new JButton("6");
	JButton sete = new JButton("7");
	JButton oito = new JButton("8");
	JButton nove = new JButton("9");
	JButton soma = new JButton("+");
	JButton subtracao = new JButton("-");
	JButton divisao = new JButton("/");
	JButton multiplicacao = new JButton("*");
	JButton resultado = new JButton("=");
	JButton ponto = new JButton(".");
	
	//construtor
	public Tarefa01Mod02(){
			
		super("Calculadora");
				
		// configura layout
		setLayout(null);
		setSize(250, 200);
		setResizable(false);
		setVisible(true);
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		
		// posiciona elementos na tela
		visor.setBounds(20, 10, 206, 20);
		zero.setBounds(20, 126, 102, 20);
		um.setBounds(20, 105, 50, 20);
		dois.setBounds(72, 105, 50, 20);
		tres.setBounds(124, 105, 50, 20);
		quatro.setBounds(20, 84, 50, 20);
		cinco.setBounds(72, 84, 50, 20);
		seis.setBounds(124, 84, 50, 20);
		sete.setBounds(20, 63, 50, 20);
		oito.setBounds(72, 63, 50, 20);
		nove.setBounds(124, 63, 50, 20);
		divisao.setBounds(20, 42, 50, 20);
		multiplicacao.setBounds(72, 42, 50, 20);
		soma.setBounds(176, 42, 50, 20);
		subtracao.setBounds(124, 42, 50, 20);
		resultado.setBounds(176, 63, 50, 83);
		ponto.setBounds(124, 126, 50, 20);
		
		//adiciona elementos no layout
		add(visor);
		add(zero);
		add(um);
		add(dois);
		add(tres);
		add(quatro);
		add(cinco);
		add(seis);
		add(sete);
		add(oito);
		add(nove);
		add(soma);
		add(subtracao);
		add(multiplicacao);
		add(divisao);	
		add(resultado);
		add(ponto);
		
				
	}
	public static void main(String[] args) {
		Tarefa01Mod02 telaCalculadora = new Tarefa01Mod02();
		
	}
}

Bonitinha até, mas não funciona, sei que ainda esta sem os metodos para calculo, mas neste momento to precisando fazer com que ao clicar nos botoes o numero correspondente apareça no textfield, alguem poderia me ajuda?
Encontrei varios codigo, aqui no forum e aqui (www.gogole.com), mas não consegi entender nenhum e como eu quero aprender não me basta ter um codigo.

Grato espero contar coma ajuda de vc’s mais esta vez…

5 Respostas

x111

Os eventos do swing implementam o Padrão Observer, então recomendo que você leia o livro Use a cabeça Padrões de Projeto ai vai entender como funciona os enventos dos componentes. Outro bom livro que mostra e explica bem, inclusive classes anônimas é Java: Como programar 8º Edição. Ele mostra e explica bem como criar telas no swing.

leoviniga

Pergunte ao nosso amigo das horas difíceis(google) sobre o metodo ActionListener e terá grandes revelações :lol:

Deixei a dica…então boa sorte…

cleyvison

leoviniga:
Pergunte ao nosso amigo das horas difíceis(google) sobre o metodo ActionListener e terá grandes revelações :lol:

Deixei a dica…então boa sorte…

Como vc pode ver na minha mensagem que abriu o post eu perguntei a ele e continuo fazendo, porem não consegui enteder por isso recorri ao forum que sempre tem gente disposta a ajudar.

Acredito que se vc tivesse lido direito o meu post não teria me dado esta “dica”, como vc pode ver tb eu cheguei a incluir a classe que disponibiliza o metodo ActionListener. só retirei as “lambaças” para que alguem pudesse me dar um exemplo de com eu poderia incluir, corretamente o codigo.

Acho que sugestões do tipo “pesquise no google” são totalmente dispensáveis, se ao invés disso tivesse sugerido como o xandy um bom livro, um outro topico no forum ou qualquer outra coisa que não “pesquise no google”, teria ajudado muito mais a este topico.

leoviniga

Muita hora nessa calma eu venho em paz…pois bem…o jeito é explicar aqui mesmo

Primeiro vamos precisar do butão… >

JButton bt = new JButton("Oi");

Ok…Tambem temos que deixar a nossa classe Implementar o ActionListener…

public class Teste implements ActionListener

e também adicionar o ActionListener ao botão para que o mesmo cause um Evento quando for clicado

bt.addActionListener(this);

aí só falta colocar o métido ActionListener na sua classe e dar as instruções a ele…

public void actionPerformed(ActionEvent e) { if(e.getSource() == bt){ System.out.println("Oi"); } }

Perdão se você se sentiu ofendido antes mas enfim…vê se isso te ajuda…qualquer coisa estamos aí :slight_smile:

cleyvison

Agora sim…
Muito obrigado pela resposta.
Não me senti ofendido com a resposta anterior, so a achei desnecessária, haja visto que eu havia dito que estava pesquisando, so não tinha entendido.
São respostas assim que por muitas vezes afastam usuários que realmente querem aprender e não simplesmente copiar um código postado para entregar uma tarefa de curso ou faculdade.
Com a sua explicação consegui implementar os eventos e agora vou tentar terminar o codigo depois…
Eu só acho que se não é pra dar uma boa sugestão ou dica, podemos economizar cliques.

Sucesso continuado para vc.

Criado 13 de janeiro de 2011
Ultima resposta 13 de jan. de 2011
Respostas 5
Participantes 3