public Main() {
		for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
		    if ("Nimbus".equals(info.getName())) {
		        try {
					UIManager.setLookAndFeel(info.getClassName());
				} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e1) {
					e1.printStackTrace();
				}
		        break;
		    }
		}
		
		setResizable(false);
		setFont(new Font("Arial", Font.PLAIN, 12));
		setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/images/icn.png")));
		setTitle("Area Calculator");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 304, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		final JLabel lblValue1 = new JLabel("Value 1:");
		lblValue1.setFont(new Font("Arial", Font.PLAIN, 11));
		lblValue1.setBounds(85, 33, 67, 14);
		contentPane.add(lblValue1);
		lblValue1.setText("");
		
		final JLabel lblValue2 = new JLabel("Value 2:");
		lblValue2.setFont(new Font("Arial", Font.PLAIN, 11));
		lblValue2.setBounds(85, 59, 67, 14);
		contentPane.add(lblValue2);
		lblValue2.setText("");
		
		final JLabel lblValue3 = new JLabel("Value 3:");
		lblValue3.setFont(new Font("Arial", Font.PLAIN, 11));
		lblValue3.setBounds(85, 85, 67, 14);
		contentPane.add(lblValue3);
		lblValue3.setText("");
		
		
		final JTextArea txtOutput = new JTextArea();
		txtOutput.setEditable(false);
		txtOutput.setFont(new Font("Tahoma", Font.PLAIN, 14));
		txtOutput.setWrapStyleWord(true);
		txtOutput.setLineWrap(true);
		txtOutput.setBounds(106, 122, 182, 104);
		contentPane.add(txtOutput);
		
		final JRadioButton radioButtonCircle = new JRadioButton("Circle");
		radioButtonCircle.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonCircle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Radius:");
				txtValue1.setEnabled(true);
				lblValue2.setText(unused);
				txtValue2.setEnabled(false);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
				
			}
		});
		radioButtonCircle.setBounds(6, 29, 73, 23);
		contentPane.add(radioButtonCircle);
		selection.add(radioButtonCircle);
		
		final JRadioButton radioButtonSquare = new JRadioButton("Square");
		radioButtonSquare.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonSquare.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Side:");
				txtValue1.setEnabled(true);
				lblValue2.setText(unused);
				txtValue2.setEnabled(false);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonSquare.setBounds(6, 55, 73, 23);
		contentPane.add(radioButtonSquare);
		selection.add(radioButtonSquare);
		
		final JRadioButton radioButtonTrapezoid = new JRadioButton("Trapezoid");
		radioButtonTrapezoid.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonTrapezoid.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Top edge:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Bottom edge:");
				txtValue2.setEnabled(true);
				lblValue3.setText("Height:");
				txtValue3.setEnabled(true);
			}
		});
		radioButtonTrapezoid.setBounds(6, 81, 73, 23);
		contentPane.add(radioButtonTrapezoid);
		selection.add(radioButtonTrapezoid);
		
		final JRadioButton radioButtonTriangle = new JRadioButton("Triangle");
		radioButtonTriangle.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonTriangle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Height:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Base:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonTriangle.setBounds(6, 107, 73, 23);
		contentPane.add(radioButtonTriangle);
		selection.add(radioButtonTriangle);
		
		final JRadioButton radioButtonSector = new JRadioButton("Sector");
		radioButtonSector.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonSector.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Radius:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Angle:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonSector.setBounds(6, 133, 73, 23);
		contentPane.add(radioButtonSector);
		selection.add(radioButtonSector);
		
		final JRadioButton radioButtonEllipse = new JRadioButton("Ellipse");
		radioButtonEllipse.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonEllipse.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Major axes:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Minor axes:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonEllipse.setBounds(6, 159, 73, 23);
		contentPane.add(radioButtonEllipse);
		selection.add(radioButtonEllipse);
		
		final JRadioButton radioButtonParallelogram = new JRadioButton("Parallelogram");
		radioButtonParallelogram.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonParallelogram.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Height:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Base:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonParallelogram.setBounds(6, 185, 89, 23);
		contentPane.add(radioButtonParallelogram);
		selection.add(radioButtonParallelogram);
		
		final JRadioButton radioButtonRectangle = new JRadioButton("Rectangle");
		radioButtonRectangle.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonRectangle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Height:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Width:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
			}
		});
		radioButtonRectangle.setBounds(6, 211, 89, 23);
		contentPane.add(radioButtonRectangle);
		selection.add(radioButtonRectangle);
		
		final JRadioButton radioButtonRhombus = new JRadioButton("Rhombus");
		radioButtonRhombus.setFont(new Font("Arial", Font.PLAIN, 11));
		radioButtonRhombus.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				lblValue1.setText("Height:");
				txtValue1.setEnabled(true);
				lblValue2.setText("Width:");
				txtValue2.setEnabled(true);
				lblValue3.setText(unused);
				txtValue3.setEnabled(false);
				
			}
		});
		radioButtonRhombus.setBounds(6, 237, 73, 23);
		contentPane.add(radioButtonRhombus);
		selection.add(radioButtonRhombus);
		
		JButton btnCompute = new JButton("Compute");
		btnCompute.setFont(new Font("Arial", Font.PLAIN, 11));
		btnCompute.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				RunCalculations rc = new RunCalculations();
				rc.runCalculations(
						radioButtonRectangle, 
						radioButtonCircle, 
						radioButtonSquare, 
						radioButtonParallelogram, 
						radioButtonEllipse, 
						radioButtonSector,
						radioButtonTriangle, 
						radioButtonTrapezoid,
						radioButtonRhombus,
						txtOutput, 
						txtValue1, 
						txtValue2, 
						txtValue3);
			}
		});
		btnCompute.setBounds(106, 237, 182, 23);
		contentPane.add(btnCompute);
		
		txtValue1 = new JTextField();
		txtValue1.setFont(new Font("Arial", Font.PLAIN, 11));
		txtValue1.setEnabled(false);
		txtValue1.setColumns(10);
		txtValue1.setBounds(162, 27, 126, 26);
		contentPane.add(txtValue1);
		
		txtValue2 = new JTextField();
		txtValue2.setFont(new Font("Arial", Font.PLAIN, 11));
		txtValue2.setEnabled(false);
		txtValue2.setColumns(10);
		txtValue2.setBounds(162, 56, 126, 26);
		contentPane.add(txtValue2);
		
		txtValue3 = new JTextField();
		txtValue3.setFont(new Font("Arial", Font.PLAIN, 11));
		txtValue3.setBounds(162, 85, 126, 26);
		contentPane.add(txtValue3);
		txtValue3.setColumns(10);
		txtValue3.setEnabled(false);
		
		JMenuBar menuBar = new JMenuBar();
		menuBar.setFont(new Font("Arial", Font.PLAIN, 12));
		menuBar.setBounds(-4, 0, 302, 21);
		contentPane.add(menuBar);
		
		JMenu mnFile = new JMenu("File");
		mnFile.setFont(new Font("Arial", Font.PLAIN, 12));
		menuBar.add(mnFile);
		
		final JCheckBoxMenuItem mnCbAot = new JCheckBoxMenuItem("Always on Top");
		mnCbAot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (mnCbAot.getState()) {
					setAlwaysOnTop(true);
				} else {
					setAlwaysOnTop(false);
				}
			}
		});
		mnCbAot.setFont(new Font("Arial", Font.PLAIN, 12));
		mnFile.add(mnCbAot);
		
		JMenuItem mntmExit = new JMenuItem("Exit");
		mntmExit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				setVisible(false);
				dispose();
			}
		});
		mntmExit.setFont(new Font("Arial", Font.PLAIN, 12));
		mnFile.add(mntmExit);

		
		JMenu mnAbout = new JMenu("About");
		mnAbout.setFont(new Font("Arial", Font.PLAIN, 12));
		menuBar.add(mnAbout);
		
		JMenuItem mntmCs = new JMenuItem("CS-5");
		mntmCs.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
			        Desktop.getDesktop().browse(new URL(website).toURI());
			    } catch (Exception e1) {
			        e1.printStackTrace();
			    }
			}
		});
		mntmCs.setFont(new Font("Arial", Font.PLAIN, 12));
		mnAbout.add(mntmCs);

	}