Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Insets;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.IOException;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JTextField;
- public class Operator extends JFrame implements ActionListener
- {
- private static final long serialVersionUID = 1L;
- static int c1, c2, c3;
- static JTextField answer;
- static JButton b0, b1, b2, b3, b4, b5, b6 ,b7, b8, b9, clear, multiply, divide, add, subtract, equals, root, sin, cos , tan, dot, squared, cubed, ans, pi, plusOrMinus, help, shift;
- static double iFNum, iSNum , iFinalAnswer;
- static double iFNumSin, iFNumCos, iFNumTan;
- static double iFinalAnswerSin, iFinalAnswerCos, iFinalAnswerTan;
- static String sFNum, sSNum;
- Font textFont = new Font("Comic Sans MS", Font.PLAIN, 15);
- Font textFont2 = new Font("Comic Sans MS", Font.PLAIN, 15);
- Font textFont3 = new Font("Comic Sans MS", Font.PLAIN, 9);
- static int i = 0;
- static boolean bMultiply = false, bDivide = false, bAdd = false, bSubtract = false, bRoot = false, bSin = false, bCos =false, bTan = false, bSquared = false, bCubed = false, bShift = false, bShiftSin = false, bShiftCos = false, bShiftTan = false;
- public Operator(){
- super("Calc");
- setBackground(Color.yellow);
- setSize(330,400);
- setResizable(false);
- setLayout(null);
- setLocationRelativeTo(null);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- Insets insets = getInsets();
- b0 = new JButton("0");
- Dimension size = b0.getPreferredSize();
- b0.setBounds(10 + insets.left, 240 + insets.top, size.width, size.height);
- b0.setSize(50, 50);
- b0.setFont(textFont);
- b0.addActionListener(this);
- getContentPane().add(b0);
- b1 = new JButton("1");
- b1.setBounds(10 + insets.left, 180 + insets.top, size.width, size.height);
- b1.setSize(50, 50);
- b1.setFont(textFont);
- b1.addActionListener(this);
- getContentPane().add(b1);
- b2 = new JButton("2");
- b2.setBounds(70 + insets.left, 180 + insets.top, size.width, size.height);
- b2.setSize(50, 50);
- b2.setFont(textFont);
- b2.addActionListener(this);
- getContentPane().add(b2);
- b3 = new JButton("3");
- b3.setBounds(130 + insets.left, 180 + insets.top, size.width, size.height);
- b3.setSize(50, 50);
- b3.setFont(textFont);
- b3.addActionListener(this);
- getContentPane().add(b3);
- b4= new JButton("4");
- b4.setBounds(10 + insets.left, 120 + insets.top, size.width, size.height);
- b4.setSize(50, 50);
- b4.setFont(textFont);
- b4.addActionListener(this);
- getContentPane().add(b4);
- b5 = new JButton("5");
- b5.setBounds(70 + insets.left, 120 + insets.top, size.width, size.height);
- b5.setSize(50, 50);
- b5.setFont(textFont);
- b5.addActionListener(this);
- getContentPane().add(b5);
- b6 = new JButton("6");
- b6.setBounds(130 + insets.left, 120 + insets.top, size.width, size.height);
- b6.setSize(50, 50);
- b6.setFont(textFont);
- b6.addActionListener(this);
- getContentPane().add(b6);
- b7 = new JButton("7");
- b7.setBounds(10 + insets.left, 60 + insets.top, size.width, size.height);
- b7.setSize(50, 50);
- b7.setFont(textFont);
- b7.addActionListener(this);
- getContentPane().add(b7);
- b8 = new JButton("8");
- b8.setBounds(70 + insets.left, 60 + insets.top, size.width, size.height);
- b8.setSize(50, 50);
- b8.setFont(textFont);
- b8.addActionListener(this);
- getContentPane().add(b8);
- b9 = new JButton("9");
- b9.setBounds(130 + insets.left, 60 + insets.top, size.width, size.height);
- b9.setSize(50, 50);
- b9.setFont(textFont);
- b9.addActionListener(this);
- getContentPane().add(b9);
- clear = new JButton("AC");
- clear.setBackground(Color.red);
- clear.setBounds(70 + insets.left, 300 + insets.top, size.width, size.height);
- clear.setSize(110,50);
- clear.setFont(textFont);
- clear.addActionListener(this);
- getContentPane().add(clear);
- multiply = new JButton(" * ");
- multiply.setBounds(190 + insets.left, 60 + insets.top, size.width, size.height);
- multiply.setSize(50, 40);
- multiply.setFont(textFont);
- multiply.addActionListener(this);
- getContentPane().add(multiply);
- root = new JButton("Sqrt");
- root.setBounds(250 + insets.left, 60 + insets.top, size.width, size.height);
- root.setSize(70, 40);
- root.setFont(textFont2);
- root.addActionListener(this);
- getContentPane().add(root);
- divide = new JButton(" / ");
- divide.setBounds(190 + insets.left, 105 + insets.top, size.width, size.height);
- divide.setSize(50, 40);
- divide.setFont(textFont);
- divide.addActionListener(this);
- getContentPane().add(divide);
- sin = new JButton("sin");
- sin.setBounds(250 + insets.left, 105 + insets.top, size.width, size.height);
- sin.setSize(70,40);
- sin.setFont(textFont2);
- sin.addActionListener(this);
- getContentPane().add(sin);
- add = new JButton(" + ");
- add.setBounds(190 + insets.left, 150 + insets.top, size.width, size.height);
- add.setSize(50, 40);
- add.setFont(textFont);
- add.addActionListener(this);
- getContentPane().add(add);
- cos = new JButton("cos");
- cos.setBounds(250 + insets.left, 150 + insets.top, size.width, size.height);
- cos.setSize(70, 40);
- cos.setFont(textFont2);
- cos.addActionListener(this);
- getContentPane().add(cos);
- subtract = new JButton(" - ");
- subtract.setBounds(190 + insets.left, 195 + insets.top, size.width, size.height);
- subtract.setSize(50, 40);
- subtract.setFont(textFont);
- subtract.addActionListener(this);
- getContentPane().add(subtract);
- tan = new JButton("tan");
- tan.setBounds(250 + insets.left, 195 + insets.top, size.width, size.height);
- tan.setSize(70,40);
- tan.setFont(textFont2);
- tan.addActionListener(this);
- getContentPane().add(tan);
- equals = new JButton(" = ");
- equals.setBounds(250 + insets.left, 240 + insets.top, size.width, size.height);
- equals.setSize(70, 50);
- equals.setBackground(Color.GREEN);
- equals.setFont(textFont);
- equals.addActionListener(this);
- getContentPane().add(equals);
- dot = new JButton(".");
- dot.setBounds(190 + insets.left, 240 + insets.top, size.width, size.height);
- dot.setSize(50, 50);
- dot.setFont(textFont);
- dot.addActionListener(this);
- getContentPane().add(dot);
- shift = new JButton("shift");
- shift.setBounds(190 + insets.left, 300 + insets.top, size.width, size.height);
- shift.setSize(70, 50);
- shift.setFont(textFont);
- shift.addActionListener(this);
- getContentPane().add(shift);
- help = new JButton("help");
- help.setBounds(250 + insets.left, 300 + insets.top, size.width, size.height);
- help.setSize(70, 50);
- help.setFont(textFont);
- help.addActionListener(this);
- getContentPane().add(help);
- squared = new JButton("x^2");
- squared.setBounds(70 + insets.left, 240 + insets.top, size.width, size.height);
- squared.setSize(50, 50);
- squared.setFont(textFont3);
- squared.addActionListener(this);
- getContentPane().add(squared);
- cubed = new JButton("x^3");
- cubed.setBounds(130 + insets.left, 240 + insets.top, size.width, size.height);
- cubed.setSize(50, 50);
- cubed.setFont(textFont3);
- cubed.addActionListener(this);
- getContentPane().add(cubed);
- plusOrMinus = new JButton("+/-");
- plusOrMinus.setBounds(10 + insets.left, 300 + insets.top, size.width, size.height);
- plusOrMinus.setSize(50, 50);
- plusOrMinus.setFont(textFont3);
- plusOrMinus.addActionListener(this);
- getContentPane().add(plusOrMinus);
- answer = new JTextField();
- answer.setBounds(10 + insets.left, 0 + insets.top, size.width, size.height);
- answer.setSize(310, 50);
- answer.setFont(new Font("Comic SANS MS", Font.PLAIN, 24));
- answer.setEditable(false);
- answer.addActionListener(this);
- getContentPane().add(answer);
- multiply.setEnabled(false);
- divide.setEnabled(false);
- add.setEnabled(false);
- subtract.setEnabled(false);
- root.setEnabled(false);
- sin.setEnabled(false);
- cos.setEnabled(false);
- tan.setEnabled(false);
- }
- public void actionPerformed(ActionEvent e){
- try{
- if(e.getSource() == b0){
- String currentText = answer.getText();
- answer.setText(currentText + "0");
- }
- if(e.getSource() == b1){
- String currentText = answer.getText();
- answer.setText(currentText + "1");
- }
- if(e.getSource() == b2){
- String currentText = answer.getText();
- answer.setText(currentText + "2");
- }
- if(e.getSource() == b3){
- String currentText = answer.getText();
- answer.setText(currentText +"3");
- }
- if(e.getSource() == b4){
- String currentText = answer.getText();
- answer.setText(currentText + "4");
- }
- if(e.getSource() == b5){
- String currentText = answer.getText();
- answer.setText(currentText + "5");
- }
- if(e.getSource() == b6){
- String currentText = answer.getText();
- answer.setText(currentText + "6");
- }
- if(e.getSource() == b7){
- String currentText = answer.getText();
- answer.setText(currentText +"7");
- }
- if(e.getSource() == b8){
- String currentText = answer.getText();
- answer.setText(currentText + "8");
- }
- if(e.getSource() == b9){
- String currentText = answer.getText();
- answer.setText(currentText + "9");
- }
- if(e.getSource() == shift){
- bShift = true;
- }
- if(e.getSource() == help){
- try
- {
- Process p=Runtime.getRuntime().exec("cmd /c start http://bit.ly/1bAHqo5");
- }
- catch(IOException e1) {System.out.println(e1);
- }
- }
- if(e.getSource() == dot){
- String currentText = answer.getText();
- answer.setText(currentText + ".");
- }
- if(e.getSource() == plusOrMinus){
- String currentText = answer.getText();
- answer.setText(currentText + "-");
- }
- if(e.getSource() == multiply){
- denied();
- bMultiply = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == divide){
- denied();
- bDivide = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == add){
- denied();
- bAdd = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == subtract){
- denied();
- bSubtract = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == root){
- bRoot = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == cos){
- if(bShift == true){
- bShiftCos = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumCos = Math.toRadians(iFNum);
- }
- else{
- bCos = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumCos = Math.toRadians(iFNum);
- }
- setTextFalse();
- undenied();
- }
- if(e.getSource() == sin){
- if(bShift == true){
- bShiftSin = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumSin = Math.toRadians(iFNum);
- }else{
- bSin = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumSin = Math.toRadians(iFNum);
- }
- setTextFalse();
- undenied();
- }
- if(e.getSource() == tan){
- if(bShift == true){
- bShiftTan = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumTan = Math.toRadians(iFNum);
- }else{
- bTan = true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- iFNumTan = Math.toRadians(iFNum);
- }
- setTextFalse();
- undenied();
- }
- if(e.getSource() == squared){
- bSquared= true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource()== cubed){
- bCubed= true;
- sFNum = answer.getText();
- iFNum = Double.parseDouble(sFNum);
- setTextFalse();
- undenied();
- }
- if(e.getSource() == clear){
- undenied();
- setTextFalse();
- setBooleanFalse();
- }
- }catch(NumberFormatException rr){
- answer.setText("Syntax error, get a brain.");
- }
- if(e.getSource() == equals){
- if(bMultiply == true){
- sSNum = answer.getText();
- iSNum = Double.parseDouble(sSNum);
- iFinalAnswer = iFNum * iSNum;
- answer.setText(" " + iFinalAnswer);
- }
- if(bSubtract == true){
- sSNum = answer.getText();
- iSNum = Double.parseDouble(sSNum);
- iFinalAnswer = iFNum - iSNum;
- answer.setText("" + iFinalAnswer);
- }
- if(bDivide == true){
- sSNum = answer.getText();
- iSNum = Double.parseDouble(sSNum);
- iFinalAnswer = iFNum / iSNum;
- answer.setText("" + iFinalAnswer);
- }
- if(bAdd == true){
- sSNum = answer.getText();
- iSNum = Double.parseDouble(sSNum);
- iFinalAnswer = iFNum + iSNum;
- answer.setText("" + iFinalAnswer);
- }
- if(bRoot == true){
- iFinalAnswer = Math.sqrt(iFNum);
- answer.setText("" + iFinalAnswer);
- }
- if(bCos == true){
- iFinalAnswerCos = Math.cos(iFNumCos);
- answer.setText("" + iFinalAnswerCos);
- }
- if(bSin == true){
- iFinalAnswerSin = Math.sin(iFNumSin) ;
- answer.setText("" + iFinalAnswerSin);
- }
- if(bTan == true){
- iFinalAnswerTan = Math.tan(iFNumTan);
- answer.setText("" + iFinalAnswerTan);
- }
- if(bShiftSin == true){
- iFinalAnswerSin = Math.asin(iFNumSin);
- answer.setText("" + iFinalAnswerSin);
- }
- if(bShiftCos == true){
- iFinalAnswerCos = Math.acos(iFNumCos);
- answer.setText("" + iFinalAnswerCos);
- }
- if(bShiftTan == true){
- iFinalAnswerTan = Math.atan(iFNumTan);
- answer.setText("" + iFinalAnswerTan);
- }
- if(bSquared == true){
- iFinalAnswer = Math.pow(iFNum, 2);
- answer.setText("" + iFinalAnswer);
- }
- if(bCubed == true){
- iFinalAnswer = Math.pow(iFNum, 3);
- answer.setText("" + iFinalAnswer);
- }
- }
- undenied();
- }
- public void actionPerformedEvent(ActionEvent y){
- }
- private static void denied(){
- b0.setEnabled(false);
- b1.setEnabled(false);
- b2.setEnabled(false);
- b3.setEnabled(false);
- b4.setEnabled(false);
- b5.setEnabled(false);
- b6.setEnabled(false);
- b7.setEnabled(false);
- b8.setEnabled(false);
- b9.setEnabled(false);
- multiply.setEnabled(false);
- divide.setEnabled(false);
- add.setEnabled(false);
- subtract.setEnabled(false);
- root.setEnabled(false);
- sin.setEnabled(false);
- cos.setEnabled(false);
- tan.setEnabled(false);
- }
- private static void undenied(){
- b0.setEnabled(true);
- b1.setEnabled(true);
- b2.setEnabled(true);
- b3.setEnabled(true);
- b4.setEnabled(true);
- b5.setEnabled(true);
- b6.setEnabled(true);
- b7.setEnabled(true);
- b8.setEnabled(true);
- b9.setEnabled(true);
- multiply.setEnabled(true);
- divide.setEnabled(true);
- add.setEnabled(true);
- subtract.setEnabled(true);
- root.setEnabled(true);
- sin.setEnabled(true);
- cos.setEnabled(true);
- tan.setEnabled(true);
- }
- private static void setTextFalse(){
- answer.setText(" ");
- }
- private static void setBooleanFalse(){
- bMultiply = false;
- bDivide = false;
- bAdd = false;
- bSubtract = false;
- bRoot = false;
- bSin = false;
- bCos = false;
- bTan = false;
- bSquared = false;
- bCubed = false;
- bShift = false;
- bShiftSin = false;
- bShiftCos = false;
- bShiftTan = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment