Advertisement
Guest User

Untitled

a guest
Oct 26th, 2015
470
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.18 KB | None | 0 0
  1. import java.awt.EventQueue;
  2. import javax.swing.JFrame;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. import javax.swing.SwingConstants;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.Font;
  9. import java.awt.Color;
  10.  
  11. public class Calculator {
  12.  
  13.     private JFrame BasicCalculator;
  14.     private JTextField textField;
  15.     double firstNum;
  16.     double secondNum;
  17.     double result;
  18.     String op;
  19.  
  20.     public static void main(String[] args) {
  21.         EventQueue.invokeLater(new Runnable() {
  22.             public void run() {
  23.                 try {
  24.                     Calculator app = new Calculator();
  25.                     app.BasicCalculator.setVisible(true);
  26.                 } catch (Exception e) {
  27.                     e.printStackTrace();
  28.                 }
  29.             }
  30.         });
  31.     }
  32.  
  33.     public Calculator() {
  34.         start();
  35.     }
  36.  
  37.     private void start() {
  38.         BasicCalculator = new JFrame();
  39.         BasicCalculator.setTitle("Basic Calculator");
  40.         BasicCalculator.setResizable(false);
  41.         BasicCalculator.setBounds(100, 100, 292, 303);
  42.         BasicCalculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  43.         BasicCalculator.getContentPane().setLayout(null);
  44.  
  45.         final JButton btnDelete = new JButton("\u2190");
  46.         btnDelete.addActionListener(new ActionListener() {
  47.             public void actionPerformed(ActionEvent e) {
  48.                 if (textField.getText().length() > 0) {
  49.                     if (e.getSource() == btnDelete) {
  50.                         String b = textField.getText();
  51.                         textField.setText(b.substring(0, b.length() - 1));
  52.                     }
  53.                 }
  54.             }
  55.         });
  56.  
  57.         btnDelete.setBounds(10, 52, 46, 35);
  58.         BasicCalculator.getContentPane().add(btnDelete);
  59.  
  60.         final JButton buttonCE = new JButton("CE");
  61.         buttonCE.addActionListener(new ActionListener() {
  62.             public void actionPerformed(ActionEvent e) {
  63.                 if (e.getSource() == buttonCE) {
  64.                     if (secondNum != 0) {
  65.                         secondNum = 0;
  66.                         textField.setText("");
  67.                     } else {
  68.                         firstNum = 0;
  69.                         textField.setText("");
  70.                     }
  71.                 }
  72.             }
  73.         });
  74.         buttonCE.setFont(new Font("Tahoma", Font.PLAIN, 11));
  75.         buttonCE.setBounds(66, 52, 47, 35);
  76.         BasicCalculator.getContentPane().add(buttonCE);
  77.  
  78.         final JButton buttonC = new JButton("C");
  79.         buttonC.addActionListener(new ActionListener() {
  80.             public void actionPerformed(ActionEvent e) {
  81.                 if (e.getSource() == buttonC) {
  82.                     secondNum = 0;
  83.                     firstNum = 0;
  84.                     textField.setText("");
  85.                 }
  86.             }
  87.         });
  88.         buttonC.setBounds(122, 52, 46, 35);
  89.         BasicCalculator.getContentPane().add(buttonC);
  90.  
  91.         final JButton buttonPlusMin = new JButton("\u00B1");
  92.         buttonPlusMin.addActionListener(new ActionListener() {
  93.             public void actionPerformed(ActionEvent e) {
  94.                 if (e.getSource() == buttonPlusMin) {
  95.                     double y = Double.parseDouble(textField.getText());
  96.                     y = y * -1;
  97.                     String y2 = String.valueOf(y);
  98.                     textField.setText(y2);
  99.  
  100.                 }
  101.             }
  102.         });
  103.         buttonPlusMin.setBounds(178, 52, 46, 35);
  104.         BasicCalculator.getContentPane().add(buttonPlusMin);
  105.  
  106.         final JButton buttonRoot = new JButton("\u221a");
  107.         buttonRoot.addActionListener(new ActionListener() {
  108.             public void actionPerformed(ActionEvent e) {
  109.                 if (e.getSource() == buttonRoot) {
  110.                     firstNum = Double.parseDouble(textField.getText());
  111.                     textField.setText("");
  112.                     op = "root";
  113.                 }
  114.             }
  115.         });
  116.         buttonRoot.setBounds(234, 52, 46, 35);
  117.         BasicCalculator.getContentPane().add(buttonRoot);
  118.  
  119.         final JButton button7 = new JButton("7");
  120.         button7.addActionListener(new ActionListener() {
  121.             public void actionPerformed(ActionEvent e) {
  122.                 if (textField.getText().equals(Double.toString(result))) {
  123.                     textField.setText("");
  124.                     textField.setText("7");
  125.                 } else {
  126.                     textField.setText(textField.getText() + "7");
  127.                 }
  128.             }
  129.         });
  130.         button7.setBounds(10, 96, 46, 35);
  131.         BasicCalculator.getContentPane().add(button7);
  132.  
  133.         final JButton button8 = new JButton("8");
  134.         button8.addActionListener(new ActionListener() {
  135.             public void actionPerformed(ActionEvent e) {
  136.                 if (textField.getText().equals(Double.toString(result))) {
  137.                     textField.setText("");
  138.                     textField.setText("8");
  139.                 } else {
  140.                     textField.setText(textField.getText() + "8");
  141.                 }
  142.             }
  143.         });
  144.         button8.setBounds(66, 96, 46, 35);
  145.         BasicCalculator.getContentPane().add(button8);
  146.  
  147.         final JButton button9 = new JButton("9");
  148.         button9.addActionListener(new ActionListener() {
  149.             public void actionPerformed(ActionEvent e) {
  150.                 if (e.getSource() == button9) {
  151.                     if (textField.getText().equals(Double.toString(result))) {
  152.                         textField.setText("");
  153.                         textField.setText("9");
  154.                     } else {
  155.                         textField.setText(textField.getText() + "9");
  156.                     }
  157.                 }
  158.             }
  159.         });
  160.         button9.setBounds(122, 96, 46, 35);
  161.         BasicCalculator.getContentPane().add(button9);
  162.  
  163.         final JButton buttonDivide = new JButton("/");
  164.         buttonDivide.addActionListener(new ActionListener() {
  165.             public void actionPerformed(ActionEvent e) {
  166.                 if (e.getSource() == buttonDivide) {
  167.                     firstNum = Double.parseDouble(textField.getText());
  168.                     textField.setText("");
  169.                     op = "/";
  170.                 }
  171.             }
  172.         });
  173.         buttonDivide.setBounds(178, 98, 46, 35);
  174.         BasicCalculator.getContentPane().add(buttonDivide);
  175.  
  176.         final JButton buttonPercent = new JButton("");
  177.         buttonPercent.addActionListener(new ActionListener() {
  178.             public void actionPerformed(ActionEvent e) {
  179.                 if (e.getSource() == buttonPercent) {
  180.                     textField.setText("666 Number of the Beast");
  181.                     op = "%";
  182.                 }
  183.             }
  184.         });
  185.         buttonPercent.setBounds(234, 98, 46, 35);
  186.         BasicCalculator.getContentPane().add(buttonPercent);
  187.  
  188.         final JButton button4 = new JButton("4");
  189.         button4.addActionListener(new ActionListener() {
  190.             public void actionPerformed(ActionEvent e) {
  191.                 if (e.getSource() == button4) {
  192.                     if (textField.getText().equals(Double.toString(result))) {
  193.                         textField.setText("");
  194.                         textField.setText("4");
  195.                     } else {
  196.                         textField.setText(textField.getText() + "4");
  197.                     }
  198.  
  199.                 }
  200.             }
  201.         });
  202.         button4.setBounds(10, 142, 46, 35);
  203.         BasicCalculator.getContentPane().add(button4);
  204.  
  205.         final JButton button5 = new JButton("5");
  206.         button5.addActionListener(new ActionListener() {
  207.             public void actionPerformed(ActionEvent e) {
  208.                 if (e.getSource() == button5) {
  209.                     if (textField.getText().equals(Double.toString(result))) {
  210.                         textField.setText("");
  211.                         textField.setText("5");
  212.                     } else {
  213.                         textField.setText(textField.getText() + "5");
  214.                     }
  215.                 }
  216.             }
  217.         });
  218.         button5.setBounds(66, 142, 46, 35);
  219.         BasicCalculator.getContentPane().add(button5);
  220.  
  221.         final JButton button6 = new JButton("6");
  222.         button6.addActionListener(new ActionListener() {
  223.             public void actionPerformed(ActionEvent e) {
  224.                 if (e.getSource() == button6) {
  225.                     if (textField.getText().equals(Double.toString(result))) {
  226.                         textField.setText("");
  227.                         textField.setText("6");
  228.                     } else {
  229.                         textField.setText(textField.getText() + "6");
  230.                     }
  231.                 }
  232.             }
  233.         });
  234.         button6.setBounds(122, 142, 46, 35);
  235.         BasicCalculator.getContentPane().add(button6);
  236.  
  237.         final JButton buttonMultiply = new JButton("*");
  238.         buttonMultiply.addActionListener(new ActionListener() {
  239.             public void actionPerformed(ActionEvent e) {
  240.                 if (e.getSource() == buttonMultiply) {
  241.                     firstNum = Double.parseDouble(textField.getText());
  242.                     textField.setText("");
  243.                     op = "*";
  244.                 }
  245.             }
  246.         });
  247.         buttonMultiply.setBounds(178, 142, 46, 35);
  248.         BasicCalculator.getContentPane().add(buttonMultiply);
  249.  
  250.         final JButton button1x = new JButton("1/x");
  251.         button1x.addActionListener(new ActionListener() {
  252.             public void actionPerformed(ActionEvent e) {
  253.                 if (e.getSource() == button1x) {
  254.                     firstNum = Double.parseDouble(textField.getText());
  255.                     result = 1 / firstNum;
  256.                     textField.setText("" + result);
  257.                 }
  258.             }
  259.         });
  260.         button1x.setFont(new Font("Tahoma", Font.PLAIN, 9));
  261.         button1x.setBounds(234, 142, 46, 35);
  262.         BasicCalculator.getContentPane().add(button1x);
  263.  
  264.         final JButton buttonMinus = new JButton("-");
  265.         buttonMinus.addActionListener(new ActionListener() {
  266.             public void actionPerformed(ActionEvent e) {
  267.                 if (e.getSource() == buttonMinus) {
  268.                     firstNum = Double.parseDouble(textField.getText());
  269.                     textField.setText("");
  270.                     op = "-";
  271.                 }
  272.             }
  273.         });
  274.         buttonMinus.setBounds(178, 188, 46, 35);
  275.         BasicCalculator.getContentPane().add(buttonMinus);
  276.  
  277.         final JButton buttonPlus = new JButton("+");
  278.         buttonPlus.addActionListener(new ActionListener() {
  279.             public void actionPerformed(ActionEvent e) {
  280.                 if (e.getSource() == buttonPlus) {
  281.                     firstNum = Double.parseDouble(textField.getText());
  282.                     textField.setText("");
  283.                     op = "+";
  284.                 }
  285.             }
  286.         });
  287.         buttonPlus.setBounds(178, 233, 46, 35);
  288.         BasicCalculator.getContentPane().add(buttonPlus);
  289.  
  290.         final JButton button3 = new JButton("3");
  291.         button3.addActionListener(new ActionListener() {
  292.             public void actionPerformed(ActionEvent e) {
  293.                 if (e.getSource() == button3) {
  294.                     if (textField.getText().equals(Double.toString(result))) {
  295.                         textField.setText("");
  296.                         textField.setText("3");
  297.                     } else {
  298.                         textField.setText(textField.getText() + "3");
  299.                     }
  300.                 }
  301.             }
  302.         });
  303.         button3.setBounds(122, 188, 46, 35);
  304.         BasicCalculator.getContentPane().add(button3);
  305.  
  306.         final JButton buttonComma = new JButton(",");
  307.         buttonComma.addActionListener(new ActionListener() {
  308.             public void actionPerformed(ActionEvent e) {
  309.                 if (e.getSource() == buttonComma) {
  310.                     if (textField.getText().contains(",")) {
  311.                     }
  312.  
  313.                     else {
  314.                         textField.setText(textField.getText() + ",");
  315.                     }
  316.                 }
  317.             }
  318.         });
  319.         buttonComma.setBounds(122, 233, 46, 35);
  320.         BasicCalculator.getContentPane().add(buttonComma);
  321.  
  322.         final JButton button0 = new JButton("0");
  323.         button0.addActionListener(new ActionListener() {
  324.             public void actionPerformed(ActionEvent e) {
  325.                 if (e.getSource() == button0) {
  326.                     if (textField.getText().equals(Double.toString(result))) {
  327.                         textField.setText("");
  328.                         textField.setText("0");
  329.                     } else {
  330.                         textField.setText(textField.getText() + "0");
  331.                     }
  332.                 }
  333.             }
  334.         });
  335.         button0.setBounds(10, 233, 102, 35);
  336.         BasicCalculator.getContentPane().add(button0);
  337.  
  338.         final JButton button2 = new JButton("2");
  339.         button2.addActionListener(new ActionListener() {
  340.             public void actionPerformed(ActionEvent e) {
  341.                 if (e.getSource() == button2) {
  342.                     if (textField.getText().equals(Double.toString(result))) {
  343.                         textField.setText("");
  344.                         textField.setText("2");
  345.                     } else {
  346.                         textField.setText(textField.getText() + "2");
  347.                     }
  348.                 }
  349.             }
  350.         });
  351.         button2.setBounds(66, 188, 46, 35);
  352.         BasicCalculator.getContentPane().add(button2);
  353.  
  354.         final JButton button1 = new JButton("1");
  355.         button1.addActionListener(new ActionListener() {
  356.             public void actionPerformed(ActionEvent e) {
  357.                 if (e.getSource() == button1) {
  358.                     if (textField.getText().equals(Double.toString(result))) {
  359.                         textField.setText("");
  360.                         textField.setText("1");
  361.                     } else {
  362.                         textField.setText(textField.getText() + "1");
  363.                     }
  364.                 }
  365.             }
  366.         });
  367.         button1.setBounds(10, 188, 46, 35);
  368.         BasicCalculator.getContentPane().add(button1);
  369.         final JButton buttonEquals = new JButton("=");
  370.         buttonEquals.addActionListener(new ActionListener() {
  371.             public void actionPerformed(ActionEvent e) {
  372.                 if (e.getSource() == buttonEquals) {
  373.                     secondNum = Double.parseDouble(textField.getText());
  374.                     textField.setText("");
  375.                     switch (op) {
  376.                     case "+":
  377.                         result = firstNum + secondNum;
  378.                         textField.setText("" + result);
  379.                         break;
  380.                     case "-":
  381.                         result = firstNum - secondNum;
  382.                         textField.setText("" + result);
  383.                         break;
  384.                     case "*":
  385.                         result = firstNum * secondNum;
  386.                         textField.setText("" + result);
  387.                         break;
  388.                     case "/":
  389.                         result = firstNum / secondNum;
  390.                         textField.setText("" + result);
  391.                         break;
  392.                     case "root":
  393.                         result = Math.sqrt(firstNum);
  394.                         textField.setText("" + result);
  395.                         break;
  396.                    
  397.  
  398.                     }
  399.  
  400.                 }
  401.             }
  402.         });
  403.         buttonEquals.setBounds(234, 188, 46, 80);
  404.         BasicCalculator.getContentPane().add(buttonEquals);
  405.  
  406.         textField = new JTextField();
  407.         textField.setHorizontalAlignment(SwingConstants.RIGHT);
  408.         textField.setBackground(Color.WHITE);
  409.         textField.setEditable(false);
  410.         textField.setBounds(10, 10, 270, 36);
  411.         BasicCalculator.getContentPane().add(textField);
  412.         textField.setColumns(10);
  413.  
  414.     }
  415. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement