Gostaria de saber que erro é essa que está dando na operação de soma da minha calculadora? Espero não estar sendo impertinente!
[code]import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class CalculadoraMPOO extends JFrame {
JButton mc, mr, ms, mmais, mmenos;
JButton apaga, ce, c, sinal, raiz;
JButton jb1, jb2, jb3, jb4, jb5, jb6, jb7, jb8, jb9, jb0, jb00;
JButton soma, multiplicacao, divisao, subtracao, igualdade;
JButton ln, porcentagem, virgula;
JTextField tfTela1, tfTela2;
Font fonte;
char operacao;
String ant;
double num1, num2, resultado;
public CalculadoraMPOO() {
super("Calculadora");
Container c1 = getContentPane();
GridBagLayout gbLayout = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
Color bgCalc = new Color(199, 210, 249);
Color botao = new Color(233, 235, 255);
c1.setLayout(gbLayout);
c1.setBackground(bgCalc);
fonte = new Font("Courrier",Font.BOLD, 25);
tfTela1 = new JTextField();
tfTela2 = new JTextField();
tfTela2.setFont(fonte);
tfTela1.setBorder(null);
tfTela2.setBorder(null);
tfTela1.setHorizontalAlignment(tfTela1.RIGHT);
tfTela2.setHorizontalAlignment(tfTela2.RIGHT);
tfTela1.setEditable(false);
tfTela2.setEditable(false);
tfTela1.setBackground(Color.WHITE);
tfTela2.setBackground(Color.WHITE);
mc = new JButton("MC");
mr = new JButton("MR");
ms = new JButton("MS");
mmais = new JButton("M+");
mmenos = new JButton("M-");
apaga = new JButton("←");
ce = new JButton("CE");
c = new JButton("C");
sinal = new JButton("±");
raiz = new JButton("√");
jb0 = new JButton("0");
jb1 = new JButton("1");
jb2 = new JButton("2");
jb3 = new JButton("3");
jb4 = new JButton("4");
jb5 = new JButton("5");
jb6 = new JButton("6");
jb7 = new JButton("7");
jb8 = new JButton("8");
jb9 = new JButton("9");
soma = new JButton("+");
multiplicacao = new JButton("*");
divisao = new JButton("/");
subtracao = new JButton("-");
igualdade = new JButton("=");
igualdade.setFont(fonte);
ln = new JButton("1/x");
porcentagem = new JButton("%");
virgula = new JButton(",");
jb0.setBackground(botao);
jb1.setBackground(botao);
jb2.setBackground(botao);
jb3.setBackground(botao);
jb4.setBackground(botao);
jb5.setBackground(botao);
jb6.setBackground(botao);
jb7.setBackground(botao);
jb8.setBackground(botao);
jb9.setBackground(botao);
virgula.setBackground(botao);
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = GridBagConstraints.BOTH;
gbc.weighty = GridBagConstraints.BOTH;
//2ª Linha
gbc.insets = new Insets(5, 5, 5, 5);
gbc.gridx = 0;
gbc.gridy = 4;
c1.add(mc, gbc);
mc.addActionListener(new EventoBotao());
gbc.gridx = 1;
gbc.gridy = 4;
c1.add(mr, gbc);
mr.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 4;
c1.add(ms, gbc);
ms.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 4;
c1.add(mmais, gbc);
mmais.addActionListener(new EventoBotao());
gbc.gridx = 4;
gbc.gridy = 4;
c1.add(mmenos, gbc);
mmenos.addActionListener(new EventoBotao());
//3ª Linha
gbc.gridx = 0;
gbc.gridy = 5;
c1.add(apaga, gbc);
apaga.addActionListener(new EventoBotao());
gbc.gridx = 1;
gbc.gridy = 5;
c1.add(ce, gbc);
ce.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 5;
c1.add(c, gbc);
c.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 5;
c1.add(sinal, gbc);
sinal.addActionListener(new EventoBotao());
gbc.gridx = 4;
gbc.gridy = 5;
c1.add(raiz, gbc);
raiz.addActionListener(new EventoBotao());
//4ª Linha
gbc.gridx = 0;
gbc.gridy = 6;
c1.add(jb7, gbc);
jb7.addActionListener(new EventoBotao());
gbc.gridx = 1;
gbc.gridy = 6;
c1.add(jb8, gbc);
jb8.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 6;
c1.add(jb9, gbc);
jb9.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 6;
c1.add(divisao, gbc);
divisao.addActionListener(new EventoBotao());
gbc.gridx = 4;
gbc.gridy = 6;
c1.add(porcentagem, gbc);
porcentagem.addActionListener(new EventoBotao());
//5ª Linha
gbc.gridx = 0;
gbc.gridy = 7;
c1.add(jb4, gbc);
jb4.addActionListener(new EventoBotao());
gbc.gridx = 1;
gbc.gridy = 7;
c1.add(jb5, gbc);
jb5.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 7;
c1.add(jb6, gbc);
jb6.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 7;
c1.add(multiplicacao, gbc);
multiplicacao.addActionListener(new EventoBotao());
gbc.gridx = 4;
gbc.gridy = 7;
c1.add(ln, gbc);
ln.addActionListener(new EventoBotao());
//6ª Linha
gbc.gridx = 0;
gbc.gridy = 8;
c1.add(jb1, gbc);
jb1.addActionListener(new EventoBotao());
gbc.gridx = 1;
gbc.gridy= 8;
c1.add(jb2, gbc);
jb2.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 8;
c1.add(jb3, gbc);
jb3.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 8;
c1.add(subtracao, gbc);
subtracao.addActionListener(new EventoBotao());
//7ª Linha
gbc.gridx = 0;
gbc.gridy = 9;
gbc.gridwidth = 2;
c1.add(jb0, gbc);
jb0.addActionListener(new EventoBotao());
gbc.gridx = 2;
gbc.gridy = 9;
gbc.gridwidth = 1;
c1.add(virgula, gbc);
virgula.addActionListener(new EventoBotao());
gbc.gridx = 3;
gbc.gridy = 9;
c1.add(soma, gbc);
soma.addActionListener(new EventoBotao());
gbc.gridx = 4;
gbc.gridy = 8;
gbc.gridheight = 2;
c1.add(igualdade, gbc);
igualdade.addActionListener(new EventoBotao());
//1ª Linha
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.insets=new Insets(-2,5,-2,5);
gbc.gridx = 0;
gbc.gridy = 0;
c1.add(tfTela1, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
c1.add(tfTela2, gbc);
this.setSize(350, 450);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
this.setLocationRelativeTo(null);
}
public class EventoBotao implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == jb0){
clickBotao("0");
}else if(e.getSource() == jb1){
clickBotao("1");
}else if(e.getSource() == jb2){
clickBotao("2");
}else if(e.getSource() == jb3){
clickBotao("3");
}else if(e.getSource() == jb4){
clickBotao("4");
}else if(e.getSource() == jb5){
clickBotao("5");
}else if(e.getSource() == jb6){
clickBotao("6");
}else if(e.getSource() == jb7){
clickBotao("7");
}else if(e.getSource() == jb8){
clickBotao("8");
}else if(e.getSource() == jb9){
clickBotao("9");
}else if(e.getSource() == virgula){
clickBotao(",");
}else if (e.getSource() == soma){
clickOperacao('+');
}else if (e.getSource() == subtracao){
clickOperacao('-');
}else if (e.getSource() == divisao){
clickOperacao('/');
}else if (e.getSource() == multiplicacao){
clickOperacao('*');
}else if (e.getSource() == igualdade){
num2 = Double.parseDouble(tfTela2.getText());
switch (operacao) {
case '+':
resultado = num1 + num2;
break;
}
tfTela2.setText(String.valueOf(resultado));
}
}
public void clickOperacao(char op) {
operacao = op;
num1 = Double.parseDouble(tfTela1.getText());
tfTela2.setText("");
}
public void clickBotao(String n) {
ant = tfTela2.getText();
ant = ant + n;
tfTela2.setText(ant);
}
}
public static void main(String[] args) {
new CalculadoraMPOO();
}
}
[/code]