0% found this document useful (0 votes)
5 views7 pages

Java Swing Prgms

Uploaded by

ramanathan.dsm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views7 pages

Java Swing Prgms

Uploaded by

ramanathan.dsm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

package com.example.

calcdemo;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class Calculator extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;


private JPanel contentPane;
private JTextField inputField;
private JButton[] numberButtons = new JButton[10];
private JButton[] functionButtons = new JButton[8];
private JButton addButton, subButton, mulButton, divButton;
private JButton decButton, equButton, delButton, clrButton;
private JPanel panel;
private double num1 = 0, num2 = 0, result = 0;
private char operator;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Calculator frame = new Calculator();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Calculator() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setTitle("Calculator");
setSize(420, 550);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
// Input field
inputField = new JTextField();
inputField.setBounds(50, 25, 300, 50);
inputField.setFont(new Font("Arial", Font.BOLD, 20));
inputField.setEditable(false);
add(inputField);

// Function buttons
addButton = new JButton("+");
subButton = new JButton("-");
mulButton = new JButton("*");
divButton = new JButton("/");
decButton = new JButton(".");
equButton = new JButton("=");
delButton = new JButton("Del");
clrButton = new JButton("Clr");

functionButtons[0] = addButton;
functionButtons[1] = subButton;
functionButtons[2] = mulButton;
functionButtons[3] = divButton;
functionButtons[4] = decButton;
functionButtons[5] = equButton;
functionButtons[6] = delButton;
functionButtons[7] = clrButton;

for (int i = 0; i < 8; i++) {


functionButtons[i].addActionListener(this);
functionButtons[i].setFont(new Font("Arial", Font.BOLD,
18));
functionButtons[i].setFocusable(false);
}

// Number buttons
for (int i = 0; i < 10; i++) {
numberButtons[i] = new JButton(String.valueOf(i));
numberButtons[i].addActionListener(this);
numberButtons[i].setFont(new Font("Arial", Font.BOLD,
18));
numberButtons[i].setFocusable(false);
}

// Panel for buttons


panel = new JPanel();
panel.setBounds(50, 100, 300, 300);
panel.setLayout(new GridLayout(4, 4, 10, 10));

// Adding buttons to panel


panel.add(numberButtons[1]);
panel.add(numberButtons[2]);
panel.add(numberButtons[3]);
panel.add(addButton);
panel.add(numberButtons[4]);
panel.add(numberButtons[5]);
panel.add(numberButtons[6]);
panel.add(subButton);
panel.add(numberButtons[7]);
panel.add(numberButtons[8]);
panel.add(numberButtons[9]);
panel.add(mulButton);
panel.add(decButton);
panel.add(numberButtons[0]);
panel.add(equButton);
panel.add(divButton);

add(panel);

delButton.setBounds(50, 430, 145, 50);


clrButton.setBounds(205, 430, 145, 50);

add(delButton);
add(clrButton);
setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < 10; i++) {
if (e.getSource() == numberButtons[i]) {

inputField.setText(inputField.getText().concat(String.valueOf(i)));
}
}

if (e.getSource() == decButton) {
inputField.setText(inputField.getText().concat("."));
}

if (e.getSource() == addButton) {
num1 = Double.parseDouble(inputField.getText());
operator = '+';
inputField.setText("");
}

if (e.getSource() == subButton) {
num1 = Double.parseDouble(inputField.getText());
operator = '-';
inputField.setText("");
}

if (e.getSource() == mulButton) {
num1 = Double.parseDouble(inputField.getText());
operator = '*';
inputField.setText("");
}

if (e.getSource() == divButton) {
num1 = Double.parseDouble(inputField.getText());
operator = '/';
inputField.setText("");
}

if (e.getSource() == equButton) {
num2 = Double.parseDouble(inputField.getText());

switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
inputField.setText(String.valueOf(result));
num1 = result;
}

if (e.getSource() == clrButton) {
inputField.setText("");
}

if (e.getSource() == delButton) {
String string = inputField.getText();
inputField.setText("");
for (int i = 0; i < string.length() - 1; i++) {
inputField.setText(inputField.getText() +
string.charAt(i));
}
}
}
}

String regno = regnoField.getText();


String name = nameField.getText();
JOptionPane.showMessageDialog(null,"Roll No: "
+ regno + "\nName: " + name );

public void actionPerformed(ActionEvent e) {


regnoField.setText("");
nameField.setText("");

You might also like