import [Link].
*;
import [Link].*;
import [Link];
import [Link];
public class SimpleCalculatorGUI2 extends JFrame {
private JTextField textField;
private JButton[] numberButtons = new JButton[10];
private JButton[] functionButtons = new JButton[4];
private JButton addButton, subButton, mulButton, divButton;
private JButton clrButton, eqButton, delButton;
private JPanel panel;
private double num1, num2, result;
private char operator;
public SimpleCalculatorGUI() {
setTitle("Simple Calculator");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
textField = new JTextField();
[Link](10, 10, 370, 40);
[Link](new Font("Arial", [Link], 20));
[Link](false);
panel = new JPanel();
[Link](new GridLayout(5, 4, 10, 10));
for (int i = 0; i < 10; i++) {
numberButtons[i] = new JButton([Link](i));
numberButtons[i].setFont(new Font("Arial", [Link], 20));
numberButtons[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
[Link]([Link]() + [Link]());
}
});
}
addButton = createButton("+");
subButton = createButton("-");
mulButton = createButton("*");
divButton = createButton("/");
functionButtons[0] = addButton;
functionButtons[1] = subButton;
functionButtons[2] = mulButton;
functionButtons[3] = divButton;
clrButton = createButton("C");
eqButton = createButton("=");
delButton = createButton("DEL");
[Link](clrButton);
[Link](delButton);
for (int i = 0; i < 4; i++) {
[Link](functionButtons[i]);
}
for (int i = 1; i < 10; i++) {
[Link](numberButtons[i]);
}
[Link](numberButtons[0]);
[Link](eqButton);
add(textField, [Link]);
add(panel, [Link]);
setLayout(new BorderLayout());
setLocationRelativeTo(null);
setVisible(true);
addActionListeners();
}
private JButton createButton(String text) {
JButton button = new JButton(text);
[Link](new Font("Arial", [Link], 20));
[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonClick([Link]());
}
});
return button;
}
private void addActionListeners() {
[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
[Link]("");
}
});
[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
String currentText = [Link]();
if (![Link]()) {
[Link]([Link](0, [Link]()
- 1));
}
}
});
[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateResult();
}
});
}
private void buttonClick(String buttonText) {
[Link]([Link]() + buttonText);
}
private void calculateResult() {
String expression = [Link]();
String[] numbers = [Link]("[+\\-*/]");
if ([Link] < 2) {
return;
}
num1 = [Link](numbers[0]);
num2 = [Link](numbers[1]);
if ([Link]("+")) {
operator = '+';
result = num1 + num2;
} else if ([Link]("-")) {
operator = '-';
result = num1 - num2;
} else if ([Link]("*")) {
operator = '*';
result = num1 * num2;
} else if ([Link]("/")) {
if (num2 != 0) {
operator = '/';
result = num1 / num2;
} else {
[Link](this, "Cannot divide by zero.",
"Error", JOptionPane.ERROR_MESSAGE);
return;
}
}
[Link]([Link](result));
}
public static void main(String[] args) {
[Link](new Runnable() {
public void run() {
new SimpleCalculatorGUI();
}
});
}
}