Tá aí o código…(só não liguem pq eu sou iniciante “Mesmo”…^
[code]public class LayOut extends JFrame { //Trabalhando Conceito de Herança, onde extraimos os métodos de JFrame
private Calculos a, b, op;
public Operador operador;
//double val1, val2;
JTextField Num;
public LayOut() { //Construtor da classe LayOut
//Dimensionando e centralizando o frame
super("Calculadora do Renatão");
Dimension tamTela = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((int) (tamTela.width / 2.6), (int) (tamTela.height / 3));
this.setMinimumSize(new Dimension(300, 200));
this.setPreferredSize(new Dimension(300, 200));
//Criando caixa de Texto, painéis, botões e Separando por linhas
Num = new JTextField("");
Num.setFont(new Font("Dialog", Font.PLAIN, 24));
JPanel Calculadora = new JPanel();
JPanel Texto = new JPanel();
JPanel Funcao = new JPanel();
BorderLayout calc = new BorderLayout();
GridBagConstraints c = new GridBagConstraints();
getContentPane().setLayout(calc);
Num.requestFocus();
final JButton botaoSoma = new JButton("+");
final JButton botaoSub = new JButton("-");
final JButton botaoDiv = new JButton(":");
final JButton botaoMult = new JButton("x");
final JButton botaoIgual = new JButton("=");
final JButton botaoLimpar = new JButton("Limpar");
final JButton botaoSair = new JButton("Sair");
Calculadora.add(botaoSoma);
Calculadora.add(botaoSub);
Calculadora.add(botaoDiv);
Calculadora.add(botaoMult);
Calculadora.add(botaoIgual);
Texto.add(Num);
Funcao.add(botaoLimpar);
Funcao.add(botaoSair);
getContentPane().add(Num, BorderLayout.NORTH);
getContentPane().add(Calculadora, BorderLayout.CENTER);
getContentPane().add(Funcao, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final Calculos calcu = new Calculos();
//inicio de construção das funções: SOMA, SUBTRACAO, MULTIPLICACAO e DIVISAO
ActionListener soma = new ActionListener() { // Criando um novo ActionListener
public void actionPerformed(ActionEvent Soma) {
if (calcu.val1 == null) {
try { //Tentado fazer as validações de numerais, caso não ocorrer...
calcu.val1 = Double.parseDouble(Num.getText()); //converte valor digitado para Double
calcu.operador = new Operador(Operador.SOMA); //Atribui operador a função
Num.setText("");//Esvaziando campo para digitação do próximo número
Num.requestFocus();//Recuperando o foco da propriedade JTextField
} catch (NumberFormatException ex) {//...Cairá em uma condição de limpeza do JTextField
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador(Operador.INDEFINIDO);
}
} else {
try {
calcu.val2 = Double.parseDouble(Num.getText());
calcu.operador = new Operador(Operador.SOMA);
Num.setText((calcu.val1 + calcu.val2) + "");
calcu.val1 = (calcu.val1 + calcu.val2);
calcu.val2 = null;
calcu.operador = new Operador(Operador.INDEFINIDO);
Num.requestFocus();
} catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador(Operador.INDEFINIDO);
}
}
}
};
ActionListener sub = new ActionListener(){
public void actionPerformed(ActionEvent subtracao)
{
if(calcu.val1 == null){
try{
calcu.val1 = Double.parseDouble(Num.getText());
calcu.operador = new Operador(Operador.SUBTRACAO);
Num.setText("");
Num.requestFocus();
}catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador(Operador.INDEFINIDO);
}
}
else{
try{
calcu.val2 = Double.parseDouble(Num.getText());
calcu.operador = new Operador(Operador.SUBTRACAO);
Num.setText((calcu.val1 - calcu.val2) + "");
calcu.val1 = (calcu.val1 - calcu.val2);
calcu.val2 = null;
calcu.operador = new Operador (Operador.INDEFINIDO);
Num.requestFocus();
} catch (NumberFormatException ex){
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador(Operador.INDEFINIDO);
}
}
}
};
ActionListener mult = new ActionListener(){
public void actionPerformed(ActionEvent Multiplicacao){
if(calcu.val1 == null) {
try {
calcu.val1 = Double.parseDouble(Num.getText());
calcu.operador = new Operador(Operador.MULTIPLICACAO);
Num.setText("");
Num.requestFocus();
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador (Operador.INDEFINIDO);
}
}
else {
try {
calcu.val2 = Double.parseDouble(Num.getText());
calcu.operador = new Operador (Operador.MULTIPLICACAO);
Num.setText((calcu.val1 * calcu.val2)+ "");
calcu.val1 = (calcu.val1 * calcu.val2);
calcu.val2 = null;
calcu.operador = new Operador (Operador.INDEFINIDO);
Num.requestFocus();
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador (Operador.INDEFINIDO);
}
}
}
};
ActionListener div = new ActionListener(){
public void actionPerformed(ActionEvent Divisao){
if(calcu.val1 == null) {
try {
calcu.val1 = Double.parseDouble(Num.getText());
calcu.operador = new Operador(Operador.DIVISAO);
Num.setText("");
Num.requestFocus();
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
Num.setText("");
calcu.operador = new Operador (Operador.INDEFINIDO);
}
}
else {
try {
calcu.val2 = Double.parseDouble(Num.getText());
calcu.operador = new Operador (Operador.DIVISAO);
Num.setText((calcu.val1 / calcu.val2) + "");
calcu.val1 = (calcu.val1 / calcu.val2);
calcu.val2 = null;
calcu.operador = new Operador (Operador.INDEFINIDO);
Num.requestFocus();
} catch (NumberFormatException ex) {
Num.setText("");
calcu.operador = new Operador (Operador.INDEFINIDO);
}
}
}
};
ActionListener igual = new ActionListener(){
public void actionPerformed(ActionEvent igual){
if(calcu.operador.getOperador() == Operador.SOMA) {
calcu.val2 = Double.parseDouble(Num.getText());
Num.setText((calcu.val1 + calcu.val2) + "");
calcu.resultado = (calcu.val1 + calcu.val2);
}
else if(calcu.operador.getOperador() == Operador.SUBTRACAO) {
calcu.val2 = Double.parseDouble(Num.getText());
Num.setText((calcu.val1 - calcu.val2) + "");
calcu.resultado = (calcu.val1 - calcu.val2);
}
else if(calcu.operador.getOperador() == Operador.MULTIPLICACAO) {
calcu.val2 = Double.parseDouble(Num.getText());
Num.setText((calcu.val1 * calcu.val2) + "");
calcu.resultado = (calcu.val1 * calcu.val2);
}
else if(calcu.operador.getOperador() == Operador.DIVISAO) {
calcu.val2 = Double.parseDouble(Num.getText());
Num.setText((calcu.val1 / calcu.val2) + "");
calcu.resultado = (calcu.val1 / calcu.val2);
}
else {
JOptionPane.showMessageDialog(null,"Não é número","Erro de validação",JOptionPane.ERROR_MESSAGE);
}
}
};
ActionListener limpar = new ActionListener(){
public void actionPerformed(ActionEvent Limpar){
calcu.operador = new Operador(Operador.INDEFINIDO);
Num.setText("");
Num.requestFocus();
}
};
ActionListener sair = new ActionListener(){
public void actionPerformed(ActionEvent Sair){
dispose();
}
};
//Adicionando os Eventos Criados aos respectivos botões
botaoSoma.addActionListener(soma);
botaoSub.addActionListener(sub);
botaoMult.addActionListener(mult);
botaoDiv.addActionListener(div);
botaoIgual.addActionListener(igual);
botaoLimpar.addActionListener(limpar);
botaoSair.addActionListener(sair);
setVisible(true);
pack();
}
public static void main(String args[]) {
LayOut layout = new LayOut();
}
}[/code]