calc
calc
1NT23IS019
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public CalculatorGUI() {
setTitle("Mini Calculator");
setSize(550, 350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
input1 = createPaddedTextField();
input2 = createPaddedTextField();
result = createPaddedTextField();
result.setEditable(false);
inputPanel.add(label1); inputPanel.add(input1);
inputPanel.add(label2); inputPanel.add(input2);
inputPanel.add(labelResult); inputPanel.add(result);
trigPanel.add(sinBtn);
trigPanel.add(cosBtn);
trigPanel.add(tanBtn);
arithPanel.add(addBtn);
arithPanel.add(subBtn);
arithPanel.add(mulBtn);
arithPanel.add(divBtn);
advPanel.add(squareBtn);
advPanel.add(sqrtBtn);
advPanel.add(percentBtn);
southPanel.add(arithPanel);
southPanel.add(advPanel);
// Arithmetic
// Trig
// Advanced
// ── Assemble Frame
────────────────────────────────────────
add(trigPanel, BorderLayout.NORTH);
add(inputPanel, BorderLayout.CENTER);
add(southPanel, BorderLayout.SOUTH);
setVisible(true);
}
private JTextField createPaddedTextField() {
tf.setBorder(BorderFactory.createCompoundBorder(
));
return tf;
try {
double a = Double.parseDouble(input1.getText());
double b = Double.parseDouble(input2.getText());
if (b == 0) {
yield Double.NaN;
yield a / b;
default -> 0;
};
if (!Double.isNaN(r)) result.setText(String.valueOf(r));
result.setText("Invalid input");
}
private void calculateTrig(String func) {
try {
default -> 0;
};
result.setText(String.valueOf(r));
try {
double a = Double.parseDouble(input1.getText());
default -> 0;
};
if (Double.isNaN(r)) {
result.setText("Error");
} else {
result.setText(String.valueOf(r));
}
} catch (NumberFormatException ex) {
result.setText("Invalid input");
SwingUtilities.invokeLater(CalculatorGUI::new);