Calculadora em java!ajudaaaaaa

3 respostas
J

fala ae galera...tudu blz???
bom é meu primeiro post aqui no forum.
meu professor passou um trabalho de fazer um programa com 10 objetos diferentes e 15 eventos.
to tentando fazer aqui em casa mas travei numa parte e não consigo sair dela.
tenho duas duvidas e gostaria q alguem me ajudasse
1ª - gostaria d saber como arrumar meus objetos no painel usando o "GridLayout"(o q eu usei) ou o FlowLayout(oq eu queria usar mas n consegui).

2ª - gostaria d saber como faço um evento para limpar um botão.
no meu código ele não limpa e eu n consigo achar o erro.
código do programa ta ai

vlw
:grin: :grin: :grin: :lol: :lol: :lol:

import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.JOptionPane;
class Calculadora
 {
 	JTextField Campo1, Campo2, Resposta;
 	JButton Soma, Sub, Divide, Mult, botaolimpar;
 	JLabel x;
 	JPanel aux;
 	JFrame win;
 	Calculadora()
 	{
 		botaolimpar = new JButton ("PARA LIMPAR OS CAMPOS...CLIQUE AQUI!");
 		Campo1 = new JTextField (10);
 		Campo2 = new JTextField (10);
 		Resposta = new JTextField (10);
 		Soma = new JButton ("+");
 		Sub = new JButton ("-");
 		Divide = new JButton ("/");
 		Mult = new JButton ("*");
 		x = new JLabel (" ");
 		aux = new JPanel();
 		win = new JFrame ("Calculadora");
 		win.setSize(800,600);
 		aux.setLayout (new GridLayout (5,2));
 		aux.add(Campo1); aux.add(Soma);
 		aux.add(Campo2); aux.add(Sub);
 		aux.add(x);
 		aux.add(Divide);
 		aux.add(Resposta); aux.add(Mult);
 		aux.add(botaolimpar);
 		win.getContentPane().add(aux);
 		Soma.addActionListener (new Somar());
 		Sub.addActionListener (new Subtrair());
 		Divide.addActionListener (new Dividir());
 		Mult.addActionListener (new Multiplicar());
 		botaolimpar.addActionListener(new Limpar(Campo1, Campo2, Resposta));
 		win.setVisible (true);
 	}
 
  public static void main (String [] Args)
  {
  	new Calculadora ();
  }
 
 class Limpar implements ActionListener
 {
 	JTextField Campo1, Campo2, Resposta;
 	Limpar(JTextField C1, JTextField C2, JTextField Resp);
  	{
 		this.C1 = Campo1;
 		this.C2 = Campo2;
 		this.Resp = Resposta;
 	}
 	public void actionPerformed (ActionEvent event)
 	{
 		Campo1.setText (" ");
 		Campo2.setText (" ");
 		Resposta.setText (" ");
 	}
 }
 class Somar implements ActionListener
 {
 	public void actionPerformed(ActionEvent event)
 	{
 	
 	float resp;
 		{
 			resp = Float.parseFloat(Campo1.getText()) + Float.parseFloat(Campo2.getText());
 			Resposta.setText(Float.toString(resp));
 		}
 	}
 }
   class Subtrair implements ActionListener
 {
 public void actionPerformed (ActionEvent event)
 	{
 	
 	float resp;
 		{
 			resp = Float.parseFloat(Campo1.getText()) - Float.parseFloat(Campo2.getText());
 			Resposta.setText(Float.toString(resp));
 		}
 	}
 }
 
  class Dividir implements ActionListener
 {
 	public void actionPerformed (ActionEvent event)
 	{
 	
 	float resp;
 		{
 			resp = Float.parseFloat(Campo1.getText()) / Float.parseFloat(Campo2.getText());
 			Resposta.setText(Float.toString(resp));
 		}
 	}
 }
 
  class Multiplicar implements ActionListener //implementação da interface
 {
 	public void actionPerformed (ActionEvent event)//implementação do metodo
 	{
 	
 	float resp;
 		{
 			resp = Float.parseFloat(Campo1.getText()) * Float.parseFloat(Campo2.getText());
 			Resposta.setText(Float.toString(resp));
 		}
 	}
 }
}

3 Respostas

C

posta o erro pra gente ver

J

Dê uma olhada em uma calculadora que tem lá no meu blog, talvez te dê uma ideia!

http://jairelton.com

R

dá uma olhada ai eu fiz pra soma… faz para as outras operações… e testa…

import java.awt.event.*; 
import javax.swing.*; 
import java.awt.*; 
public class Calculadora {
	JTextField Campo1, Resposta; 
	JButton Soma, Sub, Divide, Mult, botaolimpar, igual; 
	JLabel x; 
	JPanel aux; 
	JFrame win; 
	String operacao;
	float n1, n2, resp; 
	private Calculadora() 
	{ 
		botaolimpar = new JButton ("PARA LIMPAR OS CAMPOS...CLIQUE AQUI!"); 
		Campo1 = new JTextField(10);
		Resposta = new JTextField (10); 
		Soma = new JButton ("+"); 
		Sub = new JButton ("-"); 
		Divide = new JButton ("/"); 
		Mult = new JButton ("*"); 
		igual = new JButton ("="); 
		x = new JLabel (" "); 
		aux = new JPanel(); 
		win = new JFrame ("Calculadora"); 
		win.setSize(400,300); 
		aux.setLayout (new GridLayout (5,2)); 		
		aux.add(Campo1); 
		aux.add(Soma); 
		aux.add(igual); 
		aux.add(x); 
		aux.add(Divide); 
		aux.add(Resposta); 
		aux.add(Mult); 
		aux.add(botaolimpar); 
		win.getContentPane().add(aux); 
		Soma.addActionListener (new Somar()); 
		Sub.addActionListener (new Subtrair()); 
		Divide.addActionListener (new Dividir()); 
		Mult.addActionListener (new Multiplicar()); 
		igual.addActionListener (new igual()); 
		botaolimpar.addActionListener(new Limpar()); 
		win.setVisible (true); 
	} 
	class Limpar implements ActionListener 
	{ 
		public void actionPerformed(ActionEvent event) 
		{
			Campo1.setText("");
		}
	} 
	class Somar implements ActionListener 
	{ 
		public void actionPerformed(ActionEvent event) 
		{ 
			n1 = Float.parseFloat(Campo1.getText());
			Campo1.setText("");
			operacao = "+";
			Campo1.setFocusable(true);
		} 
	} 
	class Subtrair implements ActionListener 
	{ 
		public void actionPerformed (ActionEvent event) 
		{ 
			n1 = Float.parseFloat(Campo1.getText());
			Campo1.setText("");
		} 
	} 
	class Dividir implements ActionListener 
	{ 
		public void actionPerformed (ActionEvent event) 
		{ 
			n1 = Float.parseFloat(Campo1.getText());
			Campo1.setText("");
		} 
	} 
	class Multiplicar implements ActionListener //implementação da interface 
	{ 
		public void actionPerformed (ActionEvent event)//implementação do metodo 
		{ 
			n1 = Float.parseFloat(Campo1.getText());
			Campo1.setText("");
		} 
	} 
	class igual implements ActionListener 
	{ 
		public void actionPerformed(ActionEvent event) 
		{ 
			if (operacao.equals("+")){
				resp = n1 + Float.parseFloat(Campo1.getText());	
			}
			Resposta.setText(Float.toString(resp));					
		} 
	} 
	public static void main (String [] Args) 
	{ 
		new Calculadora(); 
	} 
}

falou…

Criado 11 de junho de 2006
Ultima resposta 12 de jun. de 2006
Respostas 3
Participantes 4