import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;


public class RaizQuadrada extends JFrame implements ActionListener
{
	JButton bt_Sair, bt_Calcular, bt_Limpar;
	JPanel Painel_Leste, Painel_Norte, Painel_Centro, Painel_Centro1, Painel_Centro2;
	JTextField tf_Numero, tf_Raiz;
	public RaizQuadrada()
	{
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add("North", Painel_Norte = new JPanel(new FlowLayout(FlowLayout.CENTER)));
		Painel_Norte.add(new JLabel("EXTRAIR RAIZ QUADRADA"));
		
		
		getContentPane().add("Center", Painel_Centro = new JPanel(new GridLayout(3, 1)));
		Painel_Centro.add(new JLabel());//Só para deixar o painel vazio
		Painel_Centro.add(Painel_Centro1 = new JPanel(new FlowLayout(FlowLayout.RIGHT)));
		Painel_Centro1.add(new JLabel("NÚMERO:"));
		Painel_Centro1.add(tf_Numero = new JTextField(15));
	
		Painel_Centro.add(Painel_Centro2 = new JPanel(new FlowLayout(FlowLayout.RIGHT)));
		Painel_Centro2.add( new JLabel ("RAIZ QUADRADA:"));
		Painel_Centro2.add(tf_Raiz  = new JTextField(15));
		tf_Raiz.setEditable(false);
		/////////////////////////
		getContentPane().add("East", Painel_Leste = new JPanel(new GridLayout(4,1)));
		Painel_Leste.add(new JLabel());//Só para deixar o painel vazio
		Painel_Leste.add(bt_Calcular = new JButton ("CALCULAR"));
		Painel_Leste.add(bt_Limpar = new JButton ("LIMPAR"));
		Painel_Leste.add(bt_Sair = new JButton ("SAIR", new ImageIcon("bt_sair.jpg")));

        bt_Sair.addActionListener(this);
		bt_Calcular.addActionListener(this);
		bt_Limpar.addActionListener(this);
		pack();
		setResizable(false);
		setVisible(true);
	}		
	public static void main (String args [])
	{
		new RaizQuadrada();
	}		
	public void actionPerformed (ActionEvent e)
	{
		if(e.getSource()==bt_Sair)
		{
			System.exit(0);
		}
		if(e.getSource()==bt_Calcular)
		{
			double Numero = Double.parseDouble(tf_Numero.getText());
			if(Numero < 0)
			{
				tf_Raiz.setText("NÃO EXISTEM RAIZES QUADRADAS DE NUMEROS NEGATIVOS");
			}
			else
			{
				double  Raiz = Math.sqrt(Numero); 
				tf_Raiz.setText(""+Raiz);
			}			
		}
		if(e.getSource()==bt_Limpar)
		{
			tf_Numero.setText("");
			tf_Raiz.setText("");
		}						
	}		

}
