Online Training Spring Hibernate Training in Delhi R Programming Training Course Big Data and Hadoop Training Java Training  
 

Graphical calculator using AWT

Ads

 
 

Share on Google+Share on Google+

manshi
Graphical calculator using AWT
3 Answer(s)      9 years ago
Posted in : Java Beginners
Ads
View Answers

May 21, 2008 at 9:45 PM


Hi Manshi,

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Calc {
public static void main(String[] args) {
System.out.println("This is simple calculator program.");
class CalcGUI extends JFrame {
private final Font BIGGER_FONT = new Font("monspaced", Font.PLAIN, 20);
private JTextField m_displayField;
private boolean m_startNumber = true;
private String m_previousOp = "=";
private CalcLogic m_logic = new CalcLogic();
public CalcGUI() {
//--- Display field
m_displayField = new JTextField("0", 12);
m_displayField.setHorizontalAlignment(JTextField.RIGHT);
m_displayField.setFont(BIGGER_FONT);
//--- Clear button
JButton clearButton = new JButton("Clear");
clearButton.setFont(BIGGER_FONT);
clearButton.addActionListener(new ClearListener());
//--- One listener for all numeric keys.
ActionListener numListener = new NumListener();
String buttonOrder = "7894561230.";
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(5, 3, 5, 5));
for (int i = 0; i < buttonOrder.length(); i++) {
String keyTop = buttonOrder.substring(i, i+1);
if(keyTop.equals(" ")){
buttonPanel.add(new JLabel(""));
}else{
JButton b = new JButton(keyTop);
b.addActionListener(numListener);
b.setFont(BIGGER_FONT);
buttonPanel.add(b);
}
}
ActionListener opListener = new OpListener();
JPanel opPanel = new JPanel();
opPanel.setLayout(new GridLayout(5, 1, 5, 5));
String[] opOrder = {"+", "-", "*", "/", "="};
for (int i = 0; i < opOrder.length; i++) {
JButton b = new JButton(opOrder[i]);
b.addActionListener(opListener);
b.setFont(BIGGER_FONT);
opPanel.add(b);
}
//--- Layout the top-level panel.
JPanel con = new JPanel();
con.setLayout(new BorderLayout(5, 5));
con.add(m_displayField, BorderLayout.NORTH );
con.add(buttonPanel, BorderLayout.CENTER);
con.add(opPanel, BorderLayout.EAST );
con.add(clearButton, BorderLayout.SOUTH );
//--- Finish building the window (JFrame)
this.setContentPane(con);
this.setTitle("Simple Calculator example");
this.setResizable(false);
}//end constructor
private void actionMethod() {
m_startNumber = true;
m_displayField.setText("0");
m_previousOp = "=";
m_logic.setTotal("0");
}


May 21, 2008 at 9:46 PM


class OpListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (m_startNumber) {
actionMethod();
m_displayField.setText("ERROR - No operator");
} else {
m_startNumber = true;
try {
String displayText = m_displayField.getText();
if(m_previousOp.equals("=")) {
m_logic.setTotal(displayText);
} else if(m_previousOp.equals("+")) {
m_logic.add(displayText);
} else if(m_previousOp.equals("-")) {
m_logic.subtract(displayText);
} else if(m_previousOp.equals("*")) {
m_logic.multiply(displayText);
} else if(m_previousOp.equals("/")) {
m_logic.divide(displayText);
}
m_displayField.setText("" + m_logic.getTotalString());

} catch (NumberFormatException ex) {
actionMethod();
m_displayField.setText("Error");
}
m_previousOp = e.getActionCommand();
}//endif m_startNumber
}//endmethod
}//end class
class NumListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String digit = e.getActionCommand();
if (m_startNumber) {
m_displayField.setText(digit);
m_startNumber = false;
} else {
m_displayField.setText(m_displayField.getText() + digit);
}
}
}
class ClearListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
actionMethod();
}
}
}
JFrame window = new CalcGUI();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
window.setSize(300,300);
}//end main
}


May 21, 2008 at 9:47 PM


CalcLogic.java

public class CalcLogic {
//-- Instance variables.
private int total;
public CalcLogic() {
total = 0;
}
public String getTotalString() {
return ""+total;
}
public void setTotal(String n) {
total = convertToNumber(n);
}
public void add(String n) {
total += convertToNumber(n);
}
public void subtract(String n) {
total -= convertToNumber(n);
}
public void multiply(String n) {
total *= convertToNumber(n);
}
public void divide(String n) {
total /= convertToNumber(n);
}
private int convertToNumber(String n) {
return Integer.parseInt(n);
}
}

--------------------------
Read for more information.

http://www.roseindia.net/java/


Amardeep

Ads









Related Tutorials/Questions & Answers:
Graphical calculator using AWT - Java Beginners
Graphical calculator using AWT  hi Sir, I need a source code for the following prgm...pls help me.. Implement a simple graphical calculator using AWT.The calculator shd perform simple operation like addition, subtraction
Graphical calculator using AWT - Java Beginners
Graphical calculator using AWT  Hi Sir, Thanks for the reply.....and is it the same code we need implement on Graphical Calc using Swing? Here is the prg code...); this.pack(); this.setTitle("Simple Calculator"); this.setResizable(false
Advertisements
Program for Calculator - Swing AWT
Program for Calculator  write a program for calculator?  Hi Friend, Please visit the following link: http://www.roseindia.net/java/example/java/swing/calculator-in-swing.shtml Hope that it will be helpful
Calculator
Calculator  need a simple java program to degin a CALCULATOR without using ADVANCED JAVA....   Calculator in Java Swing
another frame by using awt or swings
another frame by using awt or swings  how to connect one frame to another frame by using awt or swings
prog. using radio buttons for simple calculator
prog. using radio buttons for simple calculator  import java.awt....*; class Calculator extends JFrame { private final Font BIGGER_FONT = new Font... = new CalculatorOp(); public Calculator() { textfield = new JTextField("0
prog. using radio buttons for simple calculator
prog. using radio buttons for simple calculator  import java.awt....*; class Calculator extends JFrame { private final Font BIGGER_FONT = new Font... = new CalculatorOp(); public Calculator() { textfield = new JTextField("0
Graphical User Interfaces
(AWT) contains several graphical widgets which can be added and positioned... elements provided by the AWT is done using every platform's native GUI toolkit. One... be preserved.  AWT Basics The superclass of all graphical user interface objects
how to print all colors using awt
how to print all colors using awt  how to print all colors using awt
awt
JDBC in awt applet  how to display data using JDBC in awt/applet
awt
Java AWT Applet example  how to display data using JDBC in awt/applet
awt
JDBC and AWT to display data  how to display data using JDBC in awt/applet
awt
JDBC in awt  how to display data using JDBC in awt/applet
how to implements jdbc connections using awt
how to implements jdbc connections using awt  sir, My name... me sample example awt with jdbc. Thanking you sir.  ...(); } } For more information, please go through the following link: AWT Examples
how to implements jdbc connections using awt?
how to implements jdbc connections using awt?   My name is Aditya... example awt with jdbc.   We are proving you a simple application of Login and Registration using java swing. 1)LoginDemo.java: import javax.swing.
calculator midlet
calculator midlet  give me code calculator midlet in bluetooth application with j2me
AWT
AWT  How to set size of button in awt
how to create a text box using awt
how to create a text box using awt  give an example how creat multi buttons & text boxes
compareing images using java - Swing AWT
compareing images using java  hi can u please give me the code in java to compare imges..i have the program to get the pixel values using pixel... with another image,i.e,program to compare two images using the pixel values.. thank
total time calculator (starttime+endtime) in servlet USING DATABASE IN SQL2000 PLZ ANY ONE HELPME
total time calculator (starttime+endtime) in servlet USING DATABASE IN SQL2000 PLZ ANY ONE HELPME   <%-- Document : insertdate Created on : Jul 19, 2013, 3:48:28 PM Author : CG0T4908 --%> <
simple calculator - Java Beginners
simple calculator  how can i create a simple calculator using java codes?  Hi Friend, Please visit the following link: http://www.roseindia.net/java/example/java/swing/calculator-in-swing.shtml Thanks
AWT basics
. Now a day?s developers are using Swing components instead of AWT to develop...AWT basics Are you looking for the AWT Basics to help you learn AWT quickly? Here we have provided you the links to our AWT tutorials. AWT stands
Calculator class
Calculator class  I am a beginner in Eclipse. I have to do a program called calculator that adds numbers. This is my code so far: //Margaret //ICS... class Calculator extends JFrame implements ActionListener { JTextField text
Scientific Calculator - Java Beginners
Scientific Calculator  Develop a scientific calculator using even-driven programming paradigm of Java.? Thanks in ADVANCE  Hi Friend, Please visit the following link: http://www.roseindia.net/tutorial/java
How to put the logo in login form using swings/awt?
How to put the logo in login form using swings/awt?  Hi, How to put the logo in login form using swings/awt? I write the login form is working but i want to put the logo in login form plz help   Here is an example
simple calculator program in javascript
simple calculator program in javascript  strong textsimple calculator in javascript
awt in java
awt in java  using awt in java gui programming how to false the maximization property of a frame
How to set the border in header and footer from login page using swings/awt
How to set the border in header and footer from login page using swings/awt  Hi, How to set the border in header and footer from login page using swings/awt
plz help me to write a snake game using swings - Swing AWT
plz help me to write a snake game using swings  write snake game program using swings
base calculator.. - Java Beginners
base calculator..  Help, i need some help about a base calculator.. i don't know how to start