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);
}
}