Calculadora novamente?!

2 respostas
C

galera sei que tem um monte de topicos sobre calculadora mas naum achei exatamente o que eu queria ,
pois sou iniciante e não sei tb exatamente o que procuar :oops: :?:.
Bom fiz o layout de uma calculadora e gostaria agora de programar os eventos dos botoes dessa maneira,
quando clicar em algum numero ele ir pra caixa de texto depois quando eu clicar no operador ele pegaria o 1º numero colocaria numa variavel qualquer pra fazer o calculo e limparia a caixa de texto voltando o focus pra mesma.
A logica do calculo esta blz eu sei como implementar mas o que eu não sei é como fazer pra quando clicar no numero ele ir pra caixa de texto e quando o usuario escolher o operador ele guardar e limpar a caixa.
galera segue meu codigo do layout .
desde já muito obrigado
Antonio lopes

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;


public class Calculos extends JFrame {
	JButton num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,somar, dividir, multiplicar, subtrair,igual;
	JLabel resultado;
	JTextField digitos;
	public Calculos(){
	super ("calculadora");
	Container tela = getContentPane();
	setLayout(null);
	    num0 = new JButton("0");
		num1 = new JButton("1");
		num2 = new JButton("2");
		num3 = new JButton("3");
		num4 = new JButton("4");
		num5 = new JButton("5");
		num6 = new JButton("6");
		num7 = new JButton("7");
		num8 = new JButton("8");
		num9 = new JButton("9");
		somar = new JButton("+");
		dividir = new JButton("/");
	    multiplicar = new JButton ("*");
	    subtrair = new JButton("-");
	    igual = new JButton("=");
	    digitos = new JTextField(20);
	    //posicionando o texto
	    digitos.setHorizontalAlignment(JTextField.RIGHT);
	    
	    //posicionando os botoes na tela
	    
	    num0.setBounds(70,230,50, 50);	    
	    num1.setBounds(10,50,50, 50);
	    num2.setBounds(70,50,50, 50);
	    num3.setBounds(130,50,50, 50);
	    num4.setBounds(10,110,50, 50);
	    num5.setBounds(70,110,50, 50);
	    num6.setBounds(130,110,50, 50);
	    num7.setBounds(10,170,50, 50);
	    num8.setBounds(70,170,50, 50);
	    num9.setBounds(130,170,50, 50);
	    somar.setBounds(190,50 ,50,50);
	    subtrair.setBounds(190,110,50,50);
	    multiplicar.setBounds(190, 170, 50, 50);
	    dividir.setBounds(190,230,50, 50);
	    digitos.setBounds(10,20,153 ,30 );
	    igual.setBounds(130, 230, 50, 50);
	    //colorindo os operandos
	    
	    somar.setForeground(Color.red);
	    subtrair.setForeground(Color.red);
	    multiplicar.setForeground(Color.red);
	    dividir.setForeground(Color.red);
	    igual.setForeground(Color.red);
	    //adicionando os  botoes na tela
	    
	    tela.add(num0);
	    tela.add(num1);
	    tela.add(num2);
	    tela.add(num3);
	    tela.add(num4);
	    tela.add(num5);
	    tela.add(num6);
	    tela.add(num7);
	    tela.add(num8);
	    tela.add(num9);
	    tela.add(somar);
	    tela.add(subtrair);
	    tela.add(multiplicar);
	    tela.add(dividir);
	    tela.add(digitos);
	    tela.add(igual);
	    setSize(400,400);
	    setVisible(true);
	//adicionando os eventos aos botoes
	}
	
	public static void main(String args[]){
		Calculos app = new Calculos();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
}

2 Respostas

rolemberg
Amigo,

Faça o seguinte:

- Digite o numero, aguarda em uma variavel;

- Apague o JtextField;

- Digite o segundo numero; aguarda em uma variavel;

- Apague o JtextField;

- Se o usuário digitar o caracter =, então faça a operação senão continue os passos de cima.

Acredito que por ai vc irá conseguir o que quer.

at.

Filipe_Portes

a meneira mais facil como vc é iniciante é usando o NetBeans vc vai encontralo na pagina da sun
http://java.sun.com/

crie um projeto desabilitando a caixa (criar metodo main)

inicialmente não aparecera nada apenas o nome do projeto do lado esquerdo da tela
clique sobre ele e abra a primeira pasta dentro dela contera uma pasta cinza chamada default package
clique com o botão direito e escolha formulario JFrame
siga as instruções da tela quando finalizar vc ira ter uma frame padrão e uma paleta de objetos para adicionar
a ele, ou seja vc montara seu visual sem tocar em uma unica linha de código

para colocar eventos em componente como botões ou textfields é só selecionar e clicar com o botão direito
action - actionPerformed

ele abrira o código ai é colocar sua programação!!!1

divirta - se
duvidas - [email removido]

Criado 6 de setembro de 2007
Ultima resposta 6 de set. de 2007
Respostas 2
Participantes 3