You've almost done, a few changes in actionPerformed
method
public void actionPerformed(ActionEvent e) {
int int1 = Integer.parseInt(jtfNumber1.getText());
int int2 = Integer.parseInt(jtfNumber2.getText());
if (e.getSource() == jbtAdd) {
jtfResponse.setText(String.valueOf(int1+int2));
} else if (e.getSource() == jbtSub) {
jtfResponse.setText(String.valueOf(int1-int2));
} else if (e.getSource() == jbtMul) {
jtfResponse.setText(String.valueOf(int1*int2));
} else if (e.getSource() == jbtDiv) {
jtfResponse.setText(String.valueOf(int1/int2));
}
}
You can directly implement ActionListner
to your class
public class Calculator extends JFrame implements ActionListener
and overwrite actionPerformed
method. Also your main method should be like
public static void main(String[] args) {
//AWT event dispatching thread
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new Calculator();
frame.setTitle("Calculator");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
});
}