Ragnard-Kiseki-

CircleCalculator

Oct 2nd, 2021 (edited)
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.20 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.JButton;
  14. import javax.swing.JFrame;
  15. import javax.swing.JLabel;
  16. import javax.swing.JMenu;
  17. import javax.swing.JMenuBar;
  18. import javax.swing.JMenuItem;
  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.  
  27. @SuppressWarnings("serial")
  28. public class CircleCalculator extends JFrame {
  29.  
  30.     private JPanel contentPane;
  31.     private JTextField radiusArea;
  32.     private JTextField piField;
  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.                     CircleCalculator frame = new CircleCalculator();
  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 CircleCalculator() throws IOException {
  56.         setTitle("Circle 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 lblRadius = new JLabel("Radius value:");
  72.         lblRadius.setForeground(new Color(60, 96, 106));
  73.         lblRadius.setBounds(70, 142, 113, 24);
  74.         lblRadius.setHorizontalAlignment(SwingConstants.CENTER);
  75.         lblRadius.setFont(new Font("SansSerif", Font.PLAIN, 18));
  76.  
  77.         JTextField radiusField = new JTextField();
  78.         radiusField.setBounds(193, 145, 86, 24);
  79.         radiusField.setColumns(10);
  80.         backgroundImage.setLayout(null);
  81.  
  82.         JLabel lblTitle = new JLabel("Circle Calculator");
  83.         lblTitle.setBounds(0, 91, 558, 24);
  84.         backgroundImage.add(lblTitle);
  85.         lblTitle.setForeground(new Color(130, 109, 100));
  86.         lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
  87.         lblTitle.setFont(new Font("SansSerif", Font.PLAIN, 18));
  88.         backgroundImage.add(lblRadius);
  89.         backgroundImage.add(radiusField);
  90.  
  91.         JButton btnCalculate = new JButton("Area");
  92.         btnCalculate.addActionListener(new ActionListener() {
  93.             public void actionPerformed(ActionEvent e) {
  94.                 double radius = Double.parseDouble(radiusField.getText());
  95.                 double pi = Math.PI;
  96.                 double circle_area = Math.pow(radius, 2) * pi;
  97.                 radiusArea.setText(String.format("%,.3f", circle_area));
  98.             }
  99.         });
  100.  
  101.         JLabel lblPi = new JLabel("Pi value:");
  102.         lblPi.setHorizontalAlignment(SwingConstants.CENTER);
  103.         lblPi.setForeground(new Color(60, 96, 106));
  104.         lblPi.setFont(new Font("SansSerif", Font.PLAIN, 18));
  105.         lblPi.setBounds(70, 180, 76, 24);
  106.         backgroundImage.add(lblPi);
  107.  
  108.         piField = new JTextField();
  109.         piField.setEditable(false);
  110.         piField.setColumns(10);
  111.         piField.setBounds(153, 181, 86, 24);
  112.         double pi = Math.PI;
  113.         piField.setText(String.format("%.3f", pi));
  114.         backgroundImage.add(piField);
  115.         btnCalculate.setForeground(new Color(60, 96, 106));
  116.         btnCalculate.setFont(new Font("SansSerif", Font.PLAIN, 18));
  117.         btnCalculate.setBounds(70, 230, 113, 38);
  118.         backgroundImage.add(btnCalculate);
  119.  
  120.         radiusArea = new JTextField();
  121.         radiusArea.setHorizontalAlignment(SwingConstants.CENTER);
  122.         radiusArea.setForeground(new Color(0, 0, 0));
  123.         radiusArea.setFont(new Font("SansSerif", Font.PLAIN, 18));
  124.         radiusArea.setBackground(new Color(231, 217, 205));
  125.         radiusArea.setEditable(false);
  126.         radiusArea.setBounds(187, 230, 202, 38);
  127.         backgroundImage.add(radiusArea);
  128.         radiusArea.setColumns(10);
  129.  
  130.         JMenuBar calcuBar = new JMenuBar();
  131.         contentPane.add(calcuBar, BorderLayout.NORTH);
  132.  
  133.         JMenu mnCalMenu = new JMenu("Calculators");
  134.         mnCalMenu.setHorizontalAlignment(SwingConstants.CENTER);
  135.         mnCalMenu.setMnemonic('C');
  136.         mnCalMenu.setFont(new Font("SansSerif", Font.PLAIN, 12));
  137.         mnCalMenu.setBackground(Color.WHITE);
  138.         calcuBar.add(mnCalMenu);
  139.  
  140.         JMenuItem mntmMainCal = new JMenuItem("Main Calculator");
  141.         mntmMainCal.addActionListener(new ActionListener() {
  142.             public void actionPerformed(ActionEvent e) {
  143.                 try {
  144.                     new MainCalculator().show(true);
  145.                     dispose();
  146.  
  147.                 } catch (IOException e1) {
  148.                     e1.printStackTrace();
  149.                 }
  150.             }
  151.         });
  152.         mntmMainCal.setIcon(new ImageIcon(
  153.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  154.         mntmMainCal.setHorizontalAlignment(SwingConstants.LEFT);
  155.         mntmMainCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  156.         mntmMainCal.setPreferredSize(new Dimension(200, 25));
  157.         mnCalMenu.add(mntmMainCal);
  158.  
  159.         JSeparator separator = new JSeparator();
  160.         separator.setPreferredSize(new Dimension(20, 8));
  161.         separator.setBackground(new Color(204, 204, 204));
  162.         separator.setForeground(new Color(240, 240, 240));
  163.         mnCalMenu.add(separator);
  164.  
  165.         JMenuItem mntmTriangleCal = new JMenuItem("Triangle Calculator");
  166.         mntmTriangleCal.addActionListener(new ActionListener() {
  167.             public void actionPerformed(ActionEvent arg0) {
  168.                 try {
  169.                     new TriangleCalculator().setVisible(true);
  170.                     dispose();
  171.                 } catch (IOException e) {
  172.                     // TODO Auto-generated catch block
  173.                     e.printStackTrace();
  174.                 }
  175.                
  176.             }
  177.         });
  178.         mntmTriangleCal.setIcon(new ImageIcon(
  179.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  180.         mntmTriangleCal.setHorizontalAlignment(SwingConstants.LEFT);
  181.         mntmTriangleCal.setPreferredSize(new Dimension(200, 25));
  182.         mntmTriangleCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  183.         mnCalMenu.add(mntmTriangleCal);
  184.  
  185.         JSeparator separator_1 = new JSeparator();
  186.         separator_1.setPreferredSize(new Dimension(20, 8));
  187.         separator_1.setBackground(new Color(204, 204, 204));
  188.         separator_1.setForeground(new Color(240, 240, 240));
  189.         mnCalMenu.add(separator_1);
  190.  
  191.         JMenuItem mntmDistanceCal = new JMenuItem("Distance Calculator");
  192.         mntmDistanceCal.addActionListener(new ActionListener() {
  193.             public void actionPerformed(ActionEvent e) {
  194.                 try {
  195.                     new DistanceCalculator().setVisible(true);
  196.                     dispose();
  197.                 } catch (IOException e2) {
  198.                     e2.printStackTrace();
  199.                 }
  200.             }
  201.         });
  202.         mntmDistanceCal.setIcon(new ImageIcon(
  203.                 MainCalculator.class.getResource("/com/sun/java/swing/plaf/windows/icons/image-delayed.png")));
  204.         mntmDistanceCal.setHorizontalAlignment(SwingConstants.LEFT);
  205.         mntmDistanceCal.setPreferredSize(new Dimension(200, 25));
  206.         mntmDistanceCal.setFont(new Font("SansSerif", Font.PLAIN, 12));
  207.         mnCalMenu.add(mntmDistanceCal);
  208.  
  209.     }
  210. }
  211.  
Add Comment
Please, Sign In to add comment