Ragnard-Kiseki-

MainCalculator

Oct 2nd, 2021 (edited)
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.56 KB | None | 0 0
  1. package finalactivities;
  2.  
  3. import java.awt.EventQueue;
  4. import javax.swing.JFrame;
  5. import java.awt.Toolkit;
  6. import java.io.IOException;
  7. import javax.swing.JLabel;
  8. import java.awt.Font;
  9. import javax.swing.JTextField;
  10. import javax.swing.SwingConstants;
  11. import javax.swing.UIManager;
  12. import javax.swing.border.LineBorder;
  13. import javax.swing.JButton;
  14. import java.awt.event.ActionListener;
  15. import java.awt.event.ActionEvent;
  16. import java.awt.Color;
  17. import java.awt.Dimension;
  18. import javax.swing.JMenuBar;
  19. import java.awt.BorderLayout;
  20. import javax.swing.JMenu;
  21. import javax.swing.JMenuItem;
  22. import javax.swing.ImageIcon;
  23. import javax.swing.JSeparator;
  24.  
  25. public class MainCalculator {
  26.  
  27.     private JFrame frmMyCalculator;
  28.     private JTextField input1Field;
  29.     private JLabel input2Label;
  30.     private JTextField input2Field;
  31.     private JLabel lblOperator;
  32.     private JButton btnDivision;
  33.     private JButton btnMultiplication;
  34.     private JButton btnSubtraction;
  35.     private JLabel lblOutput;
  36.     private JMenuBar calcuBar;
  37.     private JMenuItem mntmTriangleCal;
  38.     private JMenuItem mntmCircleCal;
  39.     private JMenuItem mntmDistanceCal;
  40.     private JSeparator separator;
  41.     private JSeparator separator_1;
  42.     private JLabel lblTitle;
  43.  
  44.     /**
  45.      * Launch the application.
  46.      */
  47.     public static void main(String[] args) {
  48.         EventQueue.invokeLater(new Runnable() {
  49.             public void run() {
  50.                 try {
  51.                     MainCalculator window = new MainCalculator();
  52.                     window.frmMyCalculator.setVisible(true);
  53.                 } catch (Exception e) {
  54.                     e.printStackTrace();
  55.                 }
  56.             }
  57.         });
  58.     }
  59.  
  60.     /**
  61.      * Create the application.
  62.      *
  63.      * @throws IOException
  64.      */
  65.     public MainCalculator() throws IOException {
  66.         initialize();
  67.     }
  68.  
  69.     /**
  70.      * Initialize the contents of the frame.
  71.      *
  72.      * @throws IOException
  73.      */
  74.     private void initialize() throws IOException {
  75.         UIManager.put("PopupMenu.border", new LineBorder(new Color(204, 204, 204)));
  76.         frmMyCalculator = new JFrame();
  77.         BackgroundImage backgroundImage = new BackgroundImage(
  78.                 "C:\\Users\\AAA\\Desktop\\OOP\\CCS 201-CS21S1\\src\\finalactivities\\backgroundimage.png");
  79.         frmMyCalculator.getContentPane().add(backgroundImage);
  80.  
  81.         JLabel input1Label = new JLabel("Input value 1:");
  82.         input1Label.setForeground(new Color(60, 96, 106));
  83.         input1Label.setBounds(70, 125, 107, 24);
  84.         input1Label.setHorizontalAlignment(SwingConstants.CENTER);
  85.         input1Label.setFont(new Font("SansSerif", Font.PLAIN, 18));
  86.  
  87.         input1Field = new JTextField();
  88.         input1Field.setBounds(187, 125, 70, 24);
  89.         input1Field.setColumns(10);
  90.         backgroundImage.setLayout(null);
  91.  
  92.         lblTitle = new JLabel("Main Calculator");
  93.         lblTitle.setBounds(0, 90, 558, 24);
  94.         backgroundImage.add(lblTitle);
  95.         lblTitle.setForeground(new Color(130, 109, 100));
  96.         lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
  97.         lblTitle.setFont(new Font("SansSerif", Font.PLAIN, 18));
  98.         backgroundImage.add(input1Label);
  99.         backgroundImage.add(input1Field);
  100.  
  101.         input2Label = new JLabel("Input value 2:");
  102.         input2Label.setForeground(new Color(60, 96, 106));
  103.         input2Label.setHorizontalAlignment(SwingConstants.CENTER);
  104.         input2Label.setFont(new Font("SansSerif", Font.PLAIN, 18));
  105.         input2Label.setBounds(267, 125, 113, 24);
  106.         backgroundImage.add(input2Label);
  107.  
  108.         input2Field = new JTextField();
  109.         input2Field.setColumns(10);
  110.         input2Field.setBounds(390, 125, 70, 24);
  111.         backgroundImage.add(input2Field);
  112.  
  113.         lblOperator = new JLabel("Operators");
  114.         lblOperator.setForeground(new Color(60, 96, 106));
  115.         lblOperator.setFont(new Font("SansSerif", Font.PLAIN, 18));
  116.         lblOperator.setBounds(70, 160, 82, 24);
  117.         backgroundImage.add(lblOperator);
  118.  
  119.         JButton btnAddition = new JButton("+");
  120.         btnAddition.setBackground(new Color(221, 195, 186));
  121.         btnAddition.addActionListener(new ActionListener() {
  122.             public void actionPerformed(ActionEvent arg0) {
  123.                 Double input1_value = Double.parseDouble(input1Field.getText());
  124.                 Double input2_value = Double.parseDouble(input2Field.getText());
  125.                 Double sum = input1_value + input2_value;
  126.                 lblOutput.setText("Output is: " + String.format("%,.3f", sum));
  127.  
  128.             }
  129.         });
  130.         btnAddition.setBounds(162, 160, 89, 23);
  131.         backgroundImage.add(btnAddition);
  132.  
  133.         btnSubtraction = new JButton("-");
  134.         btnSubtraction.setBackground(new Color(221, 195, 186));
  135.         btnSubtraction.addActionListener(new ActionListener() {
  136.             public void actionPerformed(ActionEvent e) {
  137.                 Double input1_value = Double.parseDouble(input1Field.getText());
  138.                 Double input2_value = Double.parseDouble(input2Field.getText());
  139.                 Double dif = input1_value - input2_value;
  140.                 lblOutput.setText("Output is: " + String.format("%,.3f", dif));
  141.             }
  142.         });
  143.         btnSubtraction.setBounds(267, 160, 89, 23);
  144.         backgroundImage.add(btnSubtraction);
  145.  
  146.         btnMultiplication = new JButton("*");
  147.         btnMultiplication.setBackground(new Color(221, 195, 186));
  148.         btnMultiplication.addActionListener(new ActionListener() {
  149.             public void actionPerformed(ActionEvent e) {
  150.                 Double input1_value = Double.parseDouble(input1Field.getText());
  151.                 Double input2_value = Double.parseDouble(input2Field.getText());
  152.                 Double product = input1_value * input2_value;
  153.                 lblOutput.setText("Output is: " + String.format("%,.3f", product));
  154.             }
  155.         });
  156.         btnMultiplication.setBounds(162, 194, 89, 23);
  157.         backgroundImage.add(btnMultiplication);
  158.  
  159.         btnDivision = new JButton("\u00F7");
  160.         btnDivision.setBackground(new Color(221, 195, 186));
  161.         btnDivision.addActionListener(new ActionListener() {
  162.             public void actionPerformed(ActionEvent e) {
  163.                 Double input1_value = Double.parseDouble(input1Field.getText());
  164.                 Double input2_value = Double.parseDouble(input2Field.getText());
  165.                 Double quotient = input1_value / input2_value;
  166.                 lblOutput.setText("Output is: " + String.format("%,.3f", quotient));
  167.             }
  168.         });
  169.         btnDivision.setBounds(267, 194, 89, 23);
  170.         backgroundImage.add(btnDivision);
  171.  
  172.         lblOutput = new JLabel("Output is: ");
  173.         lblOutput.setForeground(new Color(60, 96, 106));
  174.         lblOutput.setFont(new Font("SansSerif", Font.PLAIN, 18));
  175.         lblOutput.setBounds(70, 264, 286, 24);
  176.         backgroundImage.add(lblOutput);
  177.  
  178.         calcuBar = new JMenuBar();
  179.         calcuBar.setEnabled(false);
  180.         calcuBar.setBorderPainted(false);
  181.         frmMyCalculator.getContentPane().add(calcuBar, BorderLayout.NORTH);
  182.  
  183.         JMenu mnCalMenu = new JMenu(" Calculators");
  184.         mnCalMenu.setHorizontalAlignment(SwingConstants.CENTER);
  185.         mnCalMenu.setMnemonic('C');
  186.         mnCalMenu.setFont(new Font("SansSerif", Font.PLAIN, 12));
  187.         mnCalMenu.setBackground(Color.WHITE);
  188.         calcuBar.add(mnCalMenu);
  189.  
  190.         mntmTriangleCal = new JMenuItem("Triangle Calculator");
  191.         mntmTriangleCal.addActionListener(new ActionListener() {
  192.             public void actionPerformed(ActionEvent e) {
  193.                 try {
  194.                     new TriangleCalculator().setVisible(true);
  195.                     frmMyCalculator.dispose();
  196.  
  197.                 } catch (IOException e1) {
  198.                     // TODO Auto-generated catch block
  199.                     e1.printStackTrace();
  200.                 }
  201.             }
  202.         });
  203.         mntmTriangleCal.setIcon(new ImageIcon(
  204.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  205.         mntmTriangleCal.setHorizontalAlignment(SwingConstants.LEFT);
  206.         mntmTriangleCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  207.         mntmTriangleCal.setPreferredSize(new Dimension(200, 25));
  208.         mnCalMenu.add(mntmTriangleCal);
  209.  
  210.         separator = new JSeparator();
  211.         separator.setPreferredSize(new Dimension(20, 8));
  212.         separator.setBackground(new Color(204, 204, 204));
  213.         separator.setForeground(new Color(240, 240, 240));
  214.         mnCalMenu.add(separator);
  215.  
  216.         mntmCircleCal = new JMenuItem("Circle Calculator");
  217.         mntmCircleCal.addActionListener(new ActionListener() {
  218.             public void actionPerformed(ActionEvent e) {
  219.                 try {
  220.                     new CircleCalculator().setVisible(true);
  221.                     frmMyCalculator.dispose();
  222.                 } catch (IOException e2) {
  223.                     e2.printStackTrace();
  224.                 }
  225.             }
  226.         });
  227.         mntmCircleCal.setIcon(new ImageIcon(
  228.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  229.         mntmCircleCal.setHorizontalAlignment(SwingConstants.LEFT);
  230.         mntmCircleCal.setPreferredSize(new Dimension(200, 25));
  231.         mntmCircleCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  232.         mnCalMenu.add(mntmCircleCal);
  233.  
  234.         separator_1 = new JSeparator();
  235.         separator_1.setPreferredSize(new Dimension(20, 8));
  236.         separator_1.setBackground(new Color(204, 204, 204));
  237.         separator_1.setForeground(new Color(240, 240, 240));
  238.         mnCalMenu.add(separator_1);
  239.  
  240.         mntmDistanceCal = new JMenuItem("Distance Calculator");
  241.         mntmDistanceCal.addActionListener(new ActionListener() {
  242.             public void actionPerformed(ActionEvent e) {
  243.                 try {
  244.                     new DistanceCalculator().setVisible(true);
  245.                     frmMyCalculator.dispose();
  246.                 } catch (IOException e2) {
  247.                     e2.printStackTrace();
  248.                 }
  249.             }
  250.         });
  251.         mntmDistanceCal.setIcon(new ImageIcon(
  252.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  253.         mntmDistanceCal.setHorizontalAlignment(SwingConstants.LEFT);
  254.         mntmDistanceCal.setPreferredSize(new Dimension(200, 25));
  255.         mntmDistanceCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  256.         mnCalMenu.add(mntmDistanceCal);
  257.         frmMyCalculator.setIconImage(Toolkit.getDefaultToolkit()
  258.                 .getImage("C:\\Users\\AAA\\Desktop\\OOP\\CCS 201-CS21S1\\src\\finalactivities\\calculator.png"));
  259.         frmMyCalculator.setTitle("Main Calculator");
  260.         frmMyCalculator.setBounds(100, 100, 574, 433);
  261.         frmMyCalculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  262.     }
  263.  
  264.     public void show(boolean b) {
  265.         MainCalculator window;
  266.         try {
  267.             window = new MainCalculator();
  268.             window.frmMyCalculator.setVisible(true);
  269.         } catch (IOException e) {
  270.             e.printStackTrace();
  271.         }
  272.     }
  273. }
  274.  
Add Comment
Please, Sign In to add comment