Ragnard-Kiseki-

DistanceCalculator

Oct 2nd, 2021 (edited)
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.41 KB | None | 0 0
  1. package finalactivities;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.Dimension;
  6. import java.awt.EventQueue;
  7. import java.awt.Font;
  8. import java.awt.Toolkit;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import java.io.IOException;
  12. import javax.swing.ImageIcon;
  13. import javax.swing.JFrame;
  14. import javax.swing.JLabel;
  15. import javax.swing.JMenu;
  16. import javax.swing.JMenuBar;
  17. import javax.swing.JMenuItem;
  18. import javax.swing.JOptionPane;
  19. import javax.swing.JPanel;
  20. import javax.swing.JSeparator;
  21. import javax.swing.JTextField;
  22. import javax.swing.SwingConstants;
  23. import javax.swing.UIManager;
  24. import javax.swing.border.EmptyBorder;
  25. import javax.swing.border.LineBorder;
  26. import java.awt.SystemColor;
  27.  
  28. @SuppressWarnings("serial")
  29. public class DistanceCalculator extends JFrame {
  30.  
  31.     private JPanel contentPane;
  32.     private JTextField distanceMeter;
  33.  
  34.     /**
  35.      * Launch the application.
  36.      */
  37.     public static void main(String[] args) {
  38.         EventQueue.invokeLater(new Runnable() {
  39.             public void run() {
  40.                 try {
  41.                     DistanceCalculator frame = new DistanceCalculator();
  42.                     frame.setVisible(true);
  43.                 } catch (Exception e) {
  44.                     e.printStackTrace();
  45.                 }
  46.             }
  47.         });
  48.     }
  49.  
  50.     /**
  51.      * Create the frame.
  52.      *
  53.      * @throws IOException
  54.      */
  55.     public DistanceCalculator() throws IOException {
  56.         setTitle("Distance Calculator");
  57.         UIManager.put("PopupMenu.border", new LineBorder(new Color(204, 204, 204)));
  58.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  59.         setBounds(100, 100, 574, 433);
  60.         setIconImage(Toolkit.getDefaultToolkit()
  61.                 .getImage("C:\\Users\\AAA\\Desktop\\OOP\\CCS 201-CS21S1\\src\\finalactivities\\calculator.png"));
  62.         contentPane = new JPanel();
  63.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  64.         contentPane.setLayout(new BorderLayout(0, 0));
  65.         BackgroundImage backgroundImage = new BackgroundImage(
  66.                 "C:\\Users\\AAA\\Desktop\\OOP\\CCS 201-CS21S1\\src\\finalactivities\\backgroundimage.png");
  67.         setContentPane(contentPane);
  68.         contentPane.add(backgroundImage);
  69.         backgroundImage.setLayout(null);
  70.  
  71.         JLabel lblDistance = new JLabel("Distance (Meter)");
  72.         lblDistance.setForeground(new Color(60, 96, 106));
  73.         lblDistance.setBounds(211, 165, 140, 24);
  74.         lblDistance.setHorizontalAlignment(SwingConstants.CENTER);
  75.         lblDistance.setFont(new Font("SansSerif", Font.PLAIN, 18));
  76.         backgroundImage.setLayout(null);
  77.  
  78.         JLabel lblTitle = new JLabel("Distance Calculator");
  79.         lblTitle.setBounds(0, 91, 558, 24);
  80.         backgroundImage.add(lblTitle);
  81.         lblTitle.setForeground(new Color(130, 109, 100));
  82.         lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
  83.         lblTitle.setFont(new Font("SansSerif", Font.PLAIN, 18));
  84.         backgroundImage.add(lblDistance);
  85.  
  86.         distanceMeter = new JTextField();
  87.         distanceMeter.setHorizontalAlignment(SwingConstants.CENTER);
  88.         distanceMeter.setForeground(new Color(0, 0, 0));
  89.         distanceMeter.setFont(new Font("SansSerif", Font.PLAIN, 18));
  90.         distanceMeter.setBackground(new Color(231, 217, 205));
  91.         distanceMeter.setBounds(144, 200, 263, 38);
  92.         backgroundImage.add(distanceMeter);
  93.         distanceMeter.setColumns(10);
  94.  
  95.         JMenuBar calcuBar = new JMenuBar();
  96.         contentPane.add(calcuBar, BorderLayout.NORTH);
  97.  
  98.         JMenu mnCalMenu = new JMenu("Calculators");
  99.         mnCalMenu.setHorizontalAlignment(SwingConstants.CENTER);
  100.         mnCalMenu.setMnemonic('C');
  101.         mnCalMenu.setFont(new Font("SansSerif", Font.PLAIN, 12));
  102.         mnCalMenu.setBackground(Color.WHITE);
  103.         calcuBar.add(mnCalMenu);
  104.  
  105.         JMenuItem mntmMainCal = new JMenuItem("Main Calculator");
  106.         mntmMainCal.addActionListener(new ActionListener() {
  107.             public void actionPerformed(ActionEvent e) {
  108.                 try {
  109.                     new MainCalculator().show(true);
  110.                     dispose();
  111.  
  112.                 } catch (IOException e1) {
  113.                     e1.printStackTrace();
  114.                 }
  115.             }
  116.         });
  117.         mntmMainCal.setIcon(new ImageIcon(
  118.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  119.         mntmMainCal.setHorizontalAlignment(SwingConstants.LEFT);
  120.         mntmMainCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  121.         mntmMainCal.setPreferredSize(new Dimension(200, 25));
  122.         mnCalMenu.add(mntmMainCal);
  123.  
  124.         JSeparator separator = new JSeparator();
  125.         separator.setPreferredSize(new Dimension(20, 8));
  126.         separator.setBackground(new Color(204, 204, 204));
  127.         separator.setForeground(new Color(240, 240, 240));
  128.         mnCalMenu.add(separator);
  129.  
  130.         JMenuItem mntmTriangleCal = new JMenuItem("Triangle Calculator");
  131.         mntmTriangleCal.addActionListener(new ActionListener() {
  132.             public void actionPerformed(ActionEvent arg0) {
  133.                 try {
  134.                     new TriangleCalculator().setVisible(true);
  135.                     dispose();
  136.                 } catch (IOException e) {
  137.                     e.printStackTrace();
  138.                 }
  139.  
  140.             }
  141.         });
  142.         mntmTriangleCal.setIcon(new ImageIcon(
  143.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  144.         mntmTriangleCal.setHorizontalAlignment(SwingConstants.LEFT);
  145.         mntmTriangleCal.setPreferredSize(new Dimension(200, 25));
  146.         mntmTriangleCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  147.         mnCalMenu.add(mntmTriangleCal);
  148.  
  149.         JSeparator separator_1 = new JSeparator();
  150.         separator_1.setPreferredSize(new Dimension(20, 8));
  151.         separator_1.setBackground(new Color(204, 204, 204));
  152.         separator_1.setForeground(new Color(240, 240, 240));
  153.         mnCalMenu.add(separator_1);
  154.  
  155.         JMenuItem mntmCircleCal = new JMenuItem("Circle Calculator");
  156.         mntmCircleCal.addActionListener(new ActionListener() {
  157.             public void actionPerformed(ActionEvent e) {
  158.                 try {
  159.                     new CircleCalculator().setVisible(true);
  160.                     dispose();
  161.                 } catch (IOException e2) {
  162.                     e2.printStackTrace();
  163.                 }
  164.             }
  165.         });
  166.         mntmCircleCal.setIcon(new ImageIcon(
  167.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  168.         mntmCircleCal.setHorizontalAlignment(SwingConstants.LEFT);
  169.         mntmCircleCal.setPreferredSize(new Dimension(200, 25));
  170.         mntmCircleCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  171.         mnCalMenu.add(mntmCircleCal);
  172.  
  173.         JMenu mnConversion = new JMenu("Conversion");
  174.         mnConversion.setMnemonic('v');
  175.         mnConversion.setHorizontalAlignment(SwingConstants.CENTER);
  176.         mnConversion.setFont(new Font("SansSerif", Font.PLAIN, 12));
  177.         mnConversion.setBackground(Color.WHITE);
  178.         calcuBar.add(mnConversion);
  179.  
  180.         JMenuItem mntmKilometer = new JMenuItem("Convert to Kilometer");
  181.         mntmKilometer.addActionListener(new ActionListener() {
  182.             public void actionPerformed(ActionEvent e) {
  183.                 JFrame frame = new JFrame();
  184.                 Double meter = Double.parseDouble(distanceMeter.getText());
  185.                 Double kilometer = meter / 1000;
  186.                 JOptionPane.showMessageDialog(frame,
  187.                         "The conversion from meter to kilometer is:\n" + (String.format("%,.3f", kilometer)) + " km",
  188.                         "Kilometer Conversion", JOptionPane.PLAIN_MESSAGE);
  189.  
  190.             }
  191.         });
  192.         mntmKilometer.setIcon(new ImageIcon(
  193.                 DistanceCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  194.         mntmKilometer.setPreferredSize(new Dimension(200, 25));
  195.         mntmKilometer.setHorizontalAlignment(SwingConstants.LEFT);
  196.         mntmKilometer.setFont(new Font("SansSerif", Font.PLAIN, 12));
  197.         mnConversion.add(mntmKilometer);
  198.  
  199.         JSeparator separator_2 = new JSeparator();
  200.         separator_2.setPreferredSize(new Dimension(20, 8));
  201.         separator_2.setForeground(SystemColor.menu);
  202.         separator_2.setBackground(new Color(204, 204, 204));
  203.         mnConversion.add(separator_2);
  204.  
  205.         JMenuItem mntmInches = new JMenuItem("Convert to Inches");
  206.         mntmInches.addActionListener(new ActionListener() {
  207.             public void actionPerformed(ActionEvent e) {
  208.                 JFrame frame = new JFrame();
  209.                 Double meter = Double.parseDouble(distanceMeter.getText());
  210.                 Double inches = meter * 39.37;
  211.                 JOptionPane.showMessageDialog(frame,
  212.                         "The conversion from meter to inches is:\n" + (String.format("%,.3f", inches)) + " in",
  213.                         "Inches Conversion", JOptionPane.PLAIN_MESSAGE);
  214.  
  215.             }
  216.         });
  217.         mntmInches.setIcon(new ImageIcon(
  218.                 DistanceCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  219.         mntmInches.setPreferredSize(new Dimension(200, 25));
  220.         mntmInches.setHorizontalAlignment(SwingConstants.LEFT);
  221.         mntmInches.setFont(new Font("SansSerif", Font.PLAIN, 12));
  222.         mnConversion.add(mntmInches);
  223.  
  224.         JSeparator separator_3 = new JSeparator();
  225.         separator_3.setPreferredSize(new Dimension(20, 8));
  226.         separator_3.setForeground(SystemColor.menu);
  227.         separator_3.setBackground(new Color(204, 204, 204));
  228.         mnConversion.add(separator_3);
  229.  
  230.         JMenuItem mntmFeet = new JMenuItem("Convert to Feet");
  231.         mntmFeet.addActionListener(new ActionListener() {
  232.             public void actionPerformed(ActionEvent e) {
  233.                 JFrame frame = new JFrame();
  234.                 Double meter = Double.parseDouble(distanceMeter.getText());
  235.                 Double foot = meter * 3.28084;
  236.                 JOptionPane.showMessageDialog(frame,
  237.                         "The conversion from meter to feet is:\n" + (String.format("%,.3f", foot)) + " ft",
  238.                         "Feet Conversion", JOptionPane.PLAIN_MESSAGE);
  239.  
  240.             }
  241.         });
  242.         mntmFeet.setIcon(new ImageIcon(
  243.                 DistanceCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  244.         mntmFeet.setPreferredSize(new Dimension(200, 25));
  245.         mntmFeet.setHorizontalAlignment(SwingConstants.LEFT);
  246.         mntmFeet.setFont(new Font("SansSerif", Font.PLAIN, 12));
  247.         mnConversion.add(mntmFeet);
  248.  
  249.         JSeparator separator_4 = new JSeparator();
  250.         separator_4.setPreferredSize(new Dimension(20, 8));
  251.         separator_4.setForeground(SystemColor.menu);
  252.         separator_4.setBackground(new Color(204, 204, 204));
  253.         mnConversion.add(separator_4);
  254.  
  255.         JMenuItem mntmCentimeter = new JMenuItem("Convert to Centimeter");
  256.         mntmCentimeter.addActionListener(new ActionListener() {
  257.             public void actionPerformed(ActionEvent e) {
  258.                 JFrame frame = new JFrame();
  259.                 Double meter = Double.parseDouble(distanceMeter.getText());
  260.                 Double centi = meter * 100;
  261.                 JOptionPane.showMessageDialog(frame,
  262.                         "The conversion from meter to centimeter is:\n" + (String.format("%,.3f", centi)) + " cm",
  263.                         "Centimeter Conversion", JOptionPane.PLAIN_MESSAGE);
  264.  
  265.             }
  266.         });
  267.         mntmCentimeter.setIcon(new ImageIcon(
  268.                 DistanceCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  269.         mntmCentimeter.setPreferredSize(new Dimension(200, 25));
  270.         mntmCentimeter.setHorizontalAlignment(SwingConstants.LEFT);
  271.         mntmCentimeter.setFont(new Font("SansSerif", Font.PLAIN, 12));
  272.         mnConversion.add(mntmCentimeter);
  273.  
  274.         JSeparator separator_5 = new JSeparator();
  275.         separator_5.setPreferredSize(new Dimension(20, 8));
  276.         separator_5.setForeground(SystemColor.menu);
  277.         separator_5.setBackground(new Color(204, 204, 204));
  278.         mnConversion.add(separator_5);
  279.  
  280.         JMenuItem mntmYard = new JMenuItem("Convert to Yard");
  281.         mntmYard.addActionListener(new ActionListener() {
  282.             public void actionPerformed(ActionEvent e) {
  283.                 JFrame frame = new JFrame();
  284.                 Double meter = Double.parseDouble(distanceMeter.getText());
  285.                 Double yard = meter * 1.09361;
  286.                 JOptionPane.showMessageDialog(frame,
  287.                         "The conversion from meter to yard is:\n" + (String.format("%,.3f", yard)) + " yd",
  288.                         "Yard Conversion", JOptionPane.PLAIN_MESSAGE);
  289.  
  290.             }
  291.         });
  292.         mntmYard.setIcon(new ImageIcon(
  293.                 DistanceCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  294.         mntmYard.setPreferredSize(new Dimension(200, 25));
  295.         mntmYard.setHorizontalAlignment(SwingConstants.LEFT);
  296.         mntmYard.setFont(new Font("SansSerif", Font.PLAIN, 12));
  297.         mnConversion.add(mntmYard);
  298.  
  299.     }
  300. }
  301.  
Add Comment
Please, Sign In to add comment