AJUDA>>>>!

6 respostas
E

Já li em varios tutorias em varios lugares não estou conseguindo colocar ações no meu botão quem tiver a boa vontande de olha meu código e me da uma luz de como fazer eu ficarei grato…!
bem eu já sei criar os botões e criar a classe :
private class Botao implements ActionListener
para dar acçao ao botão mas não estou conseguindo…! irei colocar o código para que vcs possam verificar…!
classe do método main

import javax.swing.JFrame;
public class Calculadoramain 
  {

	public static void main(String[] args) 
	{
		Calculadora chama = new Calculadora();
		chama.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		chama.setVisible(true);
		chama.setSize(500,500);
		
	}

}

classe da GUI

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class Calculadora extends JFrame
{
	private JTextField texto;
	private JButton zero;
	private JButton um;
	private JButton dois;
	private JButton tres;
	private JButton quatro;
	private JButton cinco;
	private JButton seis;
	private JButton sete;
	private JButton oito;
	private JButton nove;
	
	public Calculadora()
	{
		super("Calculadora");
		setLayout(new FlowLayout());//criar layout
		
		texto = new JTextField(10);
		add(texto);
		
		zero=new JButton("0");
		add(zero);
		
		um=new JButton("1");
		add(um);
		
		dois=new JButton("2");
		add(dois);
		
		tres=new JButton("3");
		add(tres);
		
		quatro=new JButton("4");
		add(quatro);
		
		cinco=new JButton("5");
		add(cinco);
		
		seis=new JButton("6");
		add(seis);
		
		sete=new JButton("7");
		add(sete);
		
		oito=new JButton("8");
		add(oito);
		
		nove=new JButton("9");
		add(nove);
		
		Botao acao = new Botao();
		zero.addActionListener(acao);
		um.addActionListener(acao);
		dois.addActionListener(acao);
		tres.addActionListener(acao);
		quatro.addActionListener(acao);
		cinco.addActionListener(acao);
		seis.addActionListener(acao);
		sete.addActionListener(acao);
		oito.addActionListener(acao);
		
	}//fim do método construtor
	
	private class Botao implements ActionListener
	{
		public void  actionPerformed(ActionEvent event)
		{
			 // trata evento de botão
		      
		}
	}
	
	

}

Alguém me ajude meu objetivo agora e somente mostrar o número que o usuário clico no display…! eu já criei um JTextFiled como display, mas não coseguido colocar o que o usuário dígito dentro desse JTextField alguém k sabe pode me explica como faz isso…? de principio meu objetico e dar função ao botão e passar para o display…!

6 Respostas

R

Colega, pelo que me recordo, você pode tratar isso de uma forma básica - não sei se isso ainda é usado.

Mas dentro d actionPerformed você usa assim:

if (event.getsource() == nomedobotao ) { // captura o click do botao

//aqui cria por exemplo uma instancia soma que vai por exemplo fazer a + b.

// senao me engano, depois voce passa texto.setText(soma);

}

Assim ele vai fazer a ação que tem que fazer e no final passar pro textfield texto o resultado obtido em soma.

Tè,

E

valew cara tentei fazer assim deu erro no compilador

R

que erro?

BrunoBastosPJ
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class Calculadora extends JFrame
{
   private JTextField texto;
   private JButton zero;
   private JButton um;
   private JButton dois;
   private JButton tres;
   private JButton quatro;
   private JButton cinco;
   private JButton seis;
   private JButton sete;
   private JButton oito;
   private JButton nove;
   
   public Calculadora()
   {
      super("Calculadora");
      setLayout(new FlowLayout());//criar layout
      
      texto = new JTextField(10);
      add(texto);
      
      zero=new JButton("0");
      add(zero);
      
      um=new JButton("1");
      add(um);
      
      dois=new JButton("2");
      add(dois);
      
      tres=new JButton("3");
      add(tres);
      
      quatro=new JButton("4");
      add(quatro);
      
      cinco=new JButton("5");
      add(cinco);
      
      seis=new JButton("6");
      add(seis);
      
      sete=new JButton("7");
      add(sete);
      
      oito=new JButton("8");
      add(oito);
      
      nove=new JButton("9");
      add(nove);
      
      Botao acao = new Botao();
      zero.addActionListener(acao);
      um.addActionListener(acao);
      dois.addActionListener(acao);
      tres.addActionListener(acao);
      quatro.addActionListener(acao);
      cinco.addActionListener(acao);
      seis.addActionListener(acao);
      sete.addActionListener(acao);
      oito.addActionListener(acao);
      
   }//fim do método construtor
   
   private class Botao implements ActionListener
   {
      public void  actionPerformed(ActionEvent event)
      {
         if (event.getsource() == zero ) {
             // evento botao zero
          }
         
         if (event.getsource() == um ) {
             // evento botao zum
          }

         ...
           
      }
   }
   
   

}

foi isso que rames quiz dizer.

E

Valew cara e porque eu escrevi o método errado mais como eu faço pra passar pro JTextField …??? se tem alguma ideia ai tipo o cara dígita 5 ai aparece no campo do JTextField 5 tem como…?

R

Como eu disse:

nomedotextfield.setText()

Por exemplo:

int soma = 5 + 1;

jTextField1.setText(soma);

Não lembro exatamente se ele aceita passar variavel que não seja String, caso não você terá que fazer a conversão, por exemplo, converter soma em uma string - casting etc - e passar pro textfield. Mas, faça o teste dos dois geito. :slight_smile:

Abraços,

Criado 22 de setembro de 2006
Ultima resposta 22 de set. de 2006
Respostas 6
Participantes 3