viernes, 10 de junio de 2011

Programa gráfico para resolver ecuaciones de segundo grado.

El código:

package javaappfuncionmatematicadelfinal;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Main implements ActionListener  {
    JLabel marca, etiqueta, etiqueta2, etiqueta3, etiqueta4, etiqueta5,etiqueta6,etiqueta7;
    JButton boton,boton2;
    JTextField cuadro,cuadro2,cuadro3;
    JPanel contenedor, contenedor2, contenedor3,contenedor4, contenedorextra,contenedorextra2;
    JFrame ventana;
   

    public void LanzaVentana() {
        ventana = new JFrame("Solución de una ecuacion de segundo grado");
        ventana.setSize(400,170);
        ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       
        etiqueta=new JLabel("A");
        etiqueta2=new JLabel("B");
        etiqueta3=new JLabel("C");
        etiqueta4=new JLabel("X1");
        etiqueta5=new JLabel("(Sin calcular)");
        etiqueta6=new JLabel("X2");
        etiqueta7 = new JLabel("(Sin calcular)");
        boton= new JButton("Calcular");
        boton2= new JButton("Cerrar");

        boton.addActionListener(this);
        boton2.addActionListener(this);
       

        cuadro= new JTextField(10);
        cuadro2= new JTextField(10);
        cuadro3= new JTextField(10);

        contenedor= new JPanel();
        contenedor.setLayout(new BorderLayout());
        contenedorextra2 = new JPanel();
        contenedorextra2.add(etiqueta4);
        contenedorextra2.add(etiqueta5);
        contenedorextra2.add(etiqueta6);
        contenedorextra2.add(etiqueta7);

        contenedor.add(contenedorextra2);

        contenedor2=new JPanel();
        contenedor2.add(etiqueta);
        contenedor2.add(cuadro);
        contenedor2.add(etiqueta2);
        contenedor2.add(cuadro2);
        contenedor2.add(boton);
     

        contenedorextra= new JPanel();
        contenedorextra.setLayout(new BorderLayout());

        contenedorextra.add(contenedor, BorderLayout.NORTH);
        contenedorextra.add(contenedor2, BorderLayout.SOUTH);

        contenedor3= new JPanel();
        contenedor3.add(etiqueta3);
        contenedor3.add(cuadro3);

        contenedor4 = new JPanel();
        contenedor4.setLayout(new BorderLayout());
        contenedor4.add(contenedorextra, BorderLayout.NORTH);
        contenedor4.add(contenedor3, BorderLayout.CENTER);
        contenedor4.add(boton2,BorderLayout.SOUTH);


        ventana.setContentPane(contenedor4);
        ventana.setVisible(true);
    }
public static void main(String args[]){

   Main ventana= new Main();
   ventana.LanzaVentana();
}
public void actionPerformed(ActionEvent e){
   

if(e.getSource()==boton) {
    double a = Double.parseDouble(cuadro.getText());
    double b = Double.parseDouble(cuadro2.getText());
    double c = Double.parseDouble(cuadro3.getText());
    double cosa1 = ((Math.sqrt((b*b-(4*a*c))))/(2*a));
    double cosa2 = (-1*b/(2*a));
    double x1 = (cosa2 + cosa1);
    double x2 = (cosa2 - cosa1);
    double imaginario = Math.sqrt(-1);
    String pasito1 =""+x1;
    String pasito2=""+x2;
    String imagina = ""+imaginario;
    if (pasito1.contains(imagina)){
        System.out.println("Error en x1: Raiz imaginaria");
    }else{
    etiqueta5.setText(""+x1);
    System.out.println("x1 vale: " + x1 );
    }
    if (pasito2.contains(imagina)){
        System.out.println("Error en x2: Raiz imaginaria");
    }else{
    etiqueta7.setText(""+x2);
    System.out.println("x2 vale: " + x2);

    }
    }
    if(e.getSource()==boton2)
    ventana.setVisible(false);
 

}
}

1 comentario: