I'm new to Java and I'm trying to make a calculator but I have a problem with the result. It is always "0". I used eclipse with Swing. My codes are like this:
package calculator1;
import java.awt.BorderLayout;
public class MainForm extends JFrame {
private JPanel contentPane;
private JTextField textResult;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainForm frame = new MainForm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
double number1=0;
double number2=0;
String islem="";
/**
* Create the frame.
*/
public MainForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 509, 534);
contentPane = new JPanel();
contentPane.setBackground(Color.BLACK);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
textResult = new JTextField();
textResult.setEditable(false);
textResult.setBounds(5, 5, 486, 42);
textResult.setColumns(10);
JButton btn1 = new JButton("1");
btn1.setBounds(45, 105, 80, 80);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"1");
}
});
JButton btn4 = new JButton("4");
btn4.setBounds(45, 185, 80, 80);
btn4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"4");
}
});
JButton btn7 = new JButton("7");
btn7.setBounds(45, 265, 80, 80);
btn7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"7");
}
});
JButton btn5 = new JButton("5");
btn5.setBounds(125, 185, 80, 80);
btn5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"5");
}
});
JButton btn8 = new JButton("8");
btn8.setBounds(125, 265, 80, 80);
btn8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"8");
}
});
JButton btn2 = new JButton("2");
btn2.setBounds(125, 105, 80, 80);
btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"2");
}
});
JButton btn3 = new JButton("3");
btn3.setBounds(205, 105, 80, 80);
btn3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"3");
}
});
JButton btn6 = new JButton("6");
btn6.setBounds(205, 185, 80, 80);
btn6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"6");
}
});
JButton btn9 = new JButton("9");
btn9.setForeground(Color.BLACK);
btn9.setBounds(205, 265, 80, 80);
btn9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"9");
}
});
JButton btn0 = new JButton("0");
btn0.setBounds(125, 345, 80, 80);
btn0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(islem.equals(""));
textResult.setText("");
textResult.setText(textResult.getText()+"0");
}
});
JButton btncarp = new JButton("*");
btncarp.setFont(new Font("Tahoma", Font.PLAIN, 35));
btncarp.setBounds(382, 60, 80, 80);
btn0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
islem="*";
number1=Double.parseDouble(textResult.getText());
}
});
JButton btnarti = new JButton("+");
btnarti.setFont(new Font("Tahoma", Font.PLAIN, 35));
btnarti.setBounds(285, 265, 80, 80);
btn0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
islem="+";
number1=Double.parseDouble(textResult.getText());
}
});
JButton btneksi = new JButton("-");
btneksi.setFont(new Font("Tahoma", Font.PLAIN, 35));
btneksi.setBounds(285, 105, 80, 80);
btn0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
islem="-";
number1=Double.parseDouble(textResult.getText());
}
});
JButton btnbolu = new JButton("/");
btnbolu.setFont(new Font("Tahoma", Font.PLAIN, 35));
btnbolu.setBounds(285, 185, 80, 80);
btn0.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
islem="/";
number1=Double.parseDouble(textResult.getText());
}
});
JButton btnesittir = new JButton("=");
btnesittir.setForeground(new Color(255, 153, 255));
btnesittir.setFont(new Font("Tahoma", Font.PLAIN, 35));
btnesittir.setBounds(285, 345, 80, 80);
btnesittir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
number1=Double.parseDouble(textResult.getText());
number2=Double.parseDouble(textResult.getText());
**double result=0;**
switch (islem) {
case "*":
result=number1*number2;
break;
case "/":
result=number1/number2;
break;
case "+":
result=number1+number2;
break;
case "-":
result=number1-number2;
break;
default:
break;
} //end switch
**textResult.setText(String.valueOf(result));**
islem="";
}
});
contentPane.setLayout(null);
contentPane.add(textResult);
contentPane.add(btn1);
contentPane.add(btn4);
contentPane.add(btn7);
contentPane.add(btn5);
contentPane.add(btn8);
contentPane.add(btn2);
contentPane.add(btn3);
contentPane.add(btn6);
contentPane.add(btn9);
contentPane.add(btn0);
contentPane.add(btncarp);
contentPane.add(btnesittir);
contentPane.add(btnarti);
contentPane.add(btneksi);
contentPane.add(btnbolu);
}
}
What can I write instead of "double result=0;" ?
Or maybe I need to change something else?