import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Color;
import java.awt.Font;
import javax.swing.SwingConstants;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.JCheckBox;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class MyFrame extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JLabel titleLabel = null;

	private JButton okButton = null;

	private JLabel jLabel = null;

	private JTextField numberTextField = null;

	private JLabel jLabel1 = null;

	private JPanel jPanel = null;

	private JCheckBox jCheckBox = null;

	private JTextArea jTextArea = null;

	private JScrollPane jScrollPane = null;

	/**
	 * This is the default constructor
	 */
	public MyFrame() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(629, 237);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel1 = new JLabel();
			jLabel1.setForeground(Color.red);
			jLabel1.setFont(new Font("Dialog", Font.ITALIC, 24));
			jLabel1.setBounds(new Rectangle(11, 9, 207, 32));
			jLabel1.setText("Result = n/a");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(28, 48, 165, 16));
			jLabel.setFont(new Font("Dialog", Font.ITALIC, 24));
			jLabel.setText("Enter a number here:");
			titleLabel = new JLabel();
			titleLabel.setText("My Frame Titile");
			titleLabel.setLocation(new Point(20, 5));
			titleLabel.setPreferredSize(new Dimension(100, 16));
			titleLabel.setBackground(new Color(51, 51, 255));
			titleLabel.setForeground(new Color(102, 255, 102));
			titleLabel.setFont(new Font("Dialog", Font.ITALIC, 24));
			titleLabel.setHorizontalTextPosition(SwingConstants.CENTER);
			titleLabel.setHorizontalAlignment(SwingConstants.CENTER);
			titleLabel.setSize(new Dimension(318, 35));
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.setBackground(new Color(102, 102, 255));
			jContentPane.add(titleLabel, null);
			jContentPane.add(getOkButton(), null);
			jContentPane.add(jLabel, null);
			jContentPane.add(getNumberTextField(), null);
			jContentPane.add(getJPanel(), null);
			jContentPane.add(getJScrollPane(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes okButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getOkButton() {
		if (okButton == null) {
			okButton = new JButton();
			okButton.setBounds(new Rectangle(239, 66, 79, 35));
			okButton.setText("OK");
			okButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					String tmp = numberTextField.getText();
					float input = Float.parseFloat(tmp);					
					float result = input * input;
					if (jCheckBox.isSelected()) {
						int roundedResult = Math.round(result);
						jLabel1.setText("Result = " + roundedResult);
					} else {
						jLabel1.setText("Result = " + result);
					}
				}
			});
		}
		return okButton;
	}

	/**
	 * This method initializes numberTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNumberTextField() {
		if (numberTextField == null) {
			numberTextField = new JTextField();
			numberTextField.setBounds(new Rectangle(22, 73, 160, 25));
			numberTextField.setText("0.0");
		}
		return numberTextField;
	}

	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel();
			jPanel.setLayout(null);
			jPanel.setBounds(new Rectangle(21, 108, 229, 85));
			jPanel.setBackground(Color.green);
			jPanel.add(jLabel1, null);
			jPanel.add(getJCheckBox(), null);
		}
		return jPanel;
	}

	/**
	 * This method initializes jCheckBox	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getJCheckBox() {
		if (jCheckBox == null) {
			jCheckBox = new JCheckBox();
			jCheckBox.setBounds(new Rectangle(10, 51, 135, 21));
			jCheckBox.setSelected(true);
			jCheckBox.setBackground(Color.green);
			jCheckBox.setText("Round Result");
		}
		return jCheckBox;
	}

	/**
	 * This method initializes jTextArea	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getJTextArea() {
		if (jTextArea == null) {
			jTextArea = new JTextArea();
		}
		return jTextArea;
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new Rectangle(403, 40, 183, 139));
			jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
			jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
			jScrollPane.setViewportView(getJTextArea());
		}
		return jScrollPane;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"
