0% found this document useful (0 votes)
13 views6 pages

Simple Calculator

The document contains Java code for a simple graphical calculator application using Swing. It includes buttons for basic arithmetic operations (addition, subtraction, multiplication, division, modulus), input fields for two numbers, and a display for the result. The application is designed with a user-friendly interface and handles basic input validation and operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views6 pages

Simple Calculator

The document contains Java code for a simple graphical calculator application using Swing. It includes buttons for basic arithmetic operations (addition, subtraction, multiplication, division, modulus), input fields for two numbers, and a display for the result. The application is designed with a user-friendly interface and handles basic input validation and operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

import javax.swing.

*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class SimpleCalculator {


public static void main(String[] args) {
JFrame frame = new JFrame("Simple Calculator");
frame.setSize(320, 500);
frame.setLayout(null);
frame.getContentPane().setBackground(Color.decode("#ac94f4"));
frame.setLocationRelativeTo(null);

Font font = new Font("Arial", Font.BOLD, 16);

//Functions
JButton op1 = new JButton("+");
configureButton(op1);
op1.setFont(font);
op1.setBounds(55, 250, 37, 31);
JButton op2 = new JButton("-");
configureButton(op2);
op2.setFont(font);
op2.setBounds(99, 250, 37, 31);
JButton op3 = new JButton("×");
configureButton(op3);
op3.setFont(font);
op3.setBounds(143, 250, 37, 31);
JButton op4 = new JButton("÷");
configureButton(op4);
op4.setFont(font);
op4.setBounds(185, 250, 37, 31);
JButton op6 = new JButton("%");
configureButton(op6);
op6.setFont(font);
op6.setBounds(228, 250, 37, 31);
JButton op5 = new JButton("=");
configureButton(op5);
op5.setFont(font);
op5.setBounds(228, 287, 37, 31);
JButton op7 = new JButton("CLEAR");
configureButton(op7);
op7.setFont(font);
op7.setBounds(55, 287, 167, 31);

//Borders
JLabel border1 = new JLabel();
border1.setBounds(47, 177, 227, 150);
border1.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 2));
JLabel border2 = new JLabel();
border2.setBounds(47, 217, 227, 155);
border2.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 2));

//Inputs and Result


JTextField num1 = new JTextField();
num1.setBounds(97, 162, 168, 31);
num1.setBackground(Color.decode("#F8E2FF"));
num1.setForeground(Color.decode("#7151D0"));
num1.setFont(font);
num1.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
num1.setBorder(BorderFactory.createCompoundBorder(num1.getBorder(), new EmptyBorder(0, 5, 0, 0)));

JTextField num2 = new JTextField();


num2.setBackground(Color.decode("#F8E2FF"));
num2.setForeground(Color.decode("#7151D0"));
num2.setBounds(97, 202, 168, 31);
num2.setFont(font);
num2.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
num2.setBorder(BorderFactory.createCompoundBorder(num2.getBorder(), new EmptyBorder(0, 5, 0, 0)));

JTextField result = new JTextField();


result.setBounds(97, 332, 168, 31);
result.setBackground(Color.decode("#F8E2FF"));
result.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
result.setEditable(false);

JLabel lab1 = new JLabel(" N1");


lab1.setBounds(55, 162, 42, 31);
lab1.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
lab1.setOpaque(true);
lab1.setBackground(Color.decode("#7151D0"));
lab1.setForeground(Color.decode("#FFFFFF"));
lab1.setFont(font);

JLabel lab2 = new JLabel(" N2");


lab2.setBounds(55, 202, 42, 31);
lab2.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
lab2.setOpaque(true);
lab2.setBackground(Color.decode("#7151D0"));
lab2.setForeground(Color.decode("#FFFFFF"));
lab2.setFont(font);

JLabel lab3 = new JLabel(" R");


lab3.setBounds(55, 332, 42, 31);
lab3.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
lab3.setOpaque(true);
lab3.setBackground(Color.decode("#7151D0"));
lab3.setForeground(Color.decode("#FFFFFF"));
lab3.setFont(font);

// Action Listeners
op1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
double sum = Double.parseDouble(number1) + Double.parseDouble(number2);
result.setText(String.valueOf(" " + sum));
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
});

op2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
double difference = Double.parseDouble(number1) - Double.parseDouble(number2);
result.setText(String.valueOf(" " + difference));
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
});

op3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
double product = Double.parseDouble(number1) * Double.parseDouble(number2);
result.setText(String.valueOf(" " + product));
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
});

op4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
double quotient = Double.parseDouble(number1) / Double.parseDouble(number2);
result.setText(String.valueOf(" " + quotient));
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
});

op5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
result.setText(" Select operation");
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
});

op6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String number1 = num1.getText();
String number2 = num2.getText();
if (!number1.isEmpty() && !number2.isEmpty()) {
if (Double.parseDouble(number2) != 0) {
double modulus = Double.parseDouble(number1) % Double.parseDouble(number2);
result.setText(String.valueOf(" " + modulus));
result.setFont(font);
result.setForeground(Color.decode("#7151D0"));
}
}
}
});

op7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
num1.setText(" ");
num2.setText(" ");
result.setText(" ");
}
});

//add to frame
frame.add(op1);
frame.add(op2);
frame.add(op3);
frame.add(op4);
frame.add(op5);
frame.add(op6);
frame.add(op7);
frame.add(num1);
frame.add(num2);
frame.add(result);
frame.add(lab1);
frame.add(lab2);
frame.add(lab3);
frame.add(border1);
frame.add(border2);

//Make frame visible


frame.setVisible(true);
}
private static void configureButton(JButton button) {
button.setBackground(Color.decode("#7151D0"));
button.setForeground(Color.WHITE);
button.setOpaque(true);
button.setBorder(BorderFactory.createLineBorder(Color.decode("#7151D0"), 1));
}
}

You might also like