fala galera blz?
Estou estudando sobre a biblioteca swing faz alguns dias e vendo alguns exemplos na net e resolvi criar uma calculadora, a parte grafica ficou ótima agora preciso de ajuda na parte da realização de operações, como faço pra capturar do JTextField os valores e identificar a operação(adicão,subtração,multiplicação,divisão) para realizar os cálculos?
segue o código na íntegra:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculadora extends JFrame implements ActionListener
{
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;
private JButton zero;
private JButton adicao;
private JButton subtracao;
private JButton multiplicacao;
private JButton divisao;
private JButton ponto;
private JButton igual;
private JTextField campo;
String valor;
//Construtor para a calculadora
public Calculadora()
{
super("Calculator");//Define o título da janela
setSize(300,300);//Define o tamanho da janela
setVisible(true);//Torna a janela visível
setResizable(false);//Não deixa a janela ser redimensionada
Container c = getContentPane();//Container Principal para adicionar componentes
c.setLayout(new BorderLayout());//Seta o tipo de Layout no container principal
Container c2 = new JPanel();//Container usando o JPanel
c2.setLayout(new GridLayout(4,4,7,7));//Seta o tipo de Layout no container c2
//Inicializando botões
um = new JButton("1");
dois = new JButton("2");
tres = new JButton("3");
quatro = new JButton("4");
cinco = new JButton("5");
seis = new JButton("6");
sete = new JButton("7");
oito = new JButton("8");
nove = new JButton("9");
zero = new JButton("0");
adicao = new JButton("+");
subtracao = new JButton("-");
multiplicacao = new JButton("*");
divisao = new JButton("/");
ponto = new JButton(".");
igual = new JButton("=");
campo = new JTextField();
//Adicionando botões no container c2
c2.add(sete);
c2.add(oito);
c2.add(nove);
c2.add(divisao);
c2.add(quatro);
c2.add(cinco);
c2.add(seis);
c2.add(multiplicacao);
c2.add(um);
c2.add(dois);
c2.add(tres);
c2.add(subtracao);
c2.add(zero);
c2.add(ponto);
c2.add(igual);
c2.add(adicao);
//Adicionando o container c2 no container principal
c.add(BorderLayout.CENTER, c2);
//Aumentando o tamanho no JTextField com uma fonte maior
campo.setFont(new Font("Arial Black", Font.PLAIN, 18));
//Adicionando o JTextField no container principal
c.add(BorderLayout.NORTH, campo);
//Interface ouvinte para tratamento de eventos
um.addActionListener(this);
dois.addActionListener(this);
tres.addActionListener(this);
quatro.addActionListener(this);
cinco.addActionListener(this);
seis.addActionListener(this);
sete.addActionListener(this);
oito.addActionListener(this);
nove.addActionListener(this);
zero.addActionListener(this);
adicao.addActionListener(this);
subtracao.addActionListener(this);
multiplicacao.addActionListener(this);
divisao.addActionListener(this);
ponto.addActionListener(this);
igual.addActionListener(this);
}
public static void main(String args[])
{
Calculadora app = new Calculadora();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Define método de fechamento da aplicação
}
public void actionPerformed(ActionEvent ev)
{
if(ev.getSource() == um)
{
String valor = campo.getText();
campo.setText(valor + "1");
}
if(ev.getSource() == dois)
{
String valor = campo.getText();
campo.setText(valor + "2");
}
if(ev.getSource() == tres)
{
String valor = campo.getText();
campo.setText(valor + "3");
}
if(ev.getSource() == quatro)
{
String valor = campo.getText();
campo.setText(valor + "4");
}
if(ev.getSource() == cinco)
{
String valor = campo.getText();
campo.setText(valor + "5");
}
if(ev.getSource() == seis)
{
String valor = campo.getText();
campo.setText(valor + "6");
}
if(ev.getSource() == sete)
{
String valor = campo.getText();
campo.setText(valor + "7");
}
if(ev.getSource() == oito)
{
String valor = campo.getText();
campo.setText(valor + "8");
}
if(ev.getSource() == nove)
{
String valor = campo.getText();
campo.setText(valor + "9");
}
if(ev.getSource() == zero)
{
String valor = campo.getText();
campo.setText(valor + "0");
}
if(ev.getSource() == adicao)
{
String valor = campo.getText();
campo.setText(valor + "+");
}
if(ev.getSource() == subtracao)
{
String valor = campo.getText();
campo.setText(valor + "-");
}
if(ev.getSource() == multiplicacao)
{
String valor = campo.getText();
campo.setText(valor + "*");
}
if (ev.getSource() == divisao)
{
String valor = campo.getText();
campo.setText(valor + "/");
}
}//Finaliza o ActionPerformed
}//Finaliza a classe principal