SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Fecha de Entrega: 01 de diciembre de 2011.

 Integrantes:       -Robert Calbul Yevilao.

                      -Camilo Friz Gómez.

                     -Jonathan Lincoqueo.

                            -Diego Tapia .
Actividades de Aplicación:



Objetivos: Desarrollar una aplicación basada en la arquitectura Cliente-Servidor
de tres niveles (MVC: Modelo-Vista-Controlador). Debe presentar dos alternativas
de solución al problema de ayudar a ajustar una curva, usando regresión lineal,
para lo cual, la aplicación debe permitir al usuario ingresar los puntos (x,y) en una
base de datos MySql.



Paso 1: Ejemplos Entrada/Salida:



  ENTRADA           >      [PROGRAMA]            >                      Salida

   12.5,1.3         >      [PROGRAMA]            >               Éxito al ingresar.
     12,10          >      [PROGRAMA]            >               Éxito al ingresar.
    1.0,1.5         >      [PROGRAMA]            >               Éxito al ingresar.
  Abc,1.5 A         >      [PROGRAMA]            >         Error en el ingreso de datos.
  ABC,d-c           >      [PROGRAMA]            >         Error en el ingreso de datos.
   1-5,1-2          >      [PROGRAMA]            >         Error en el ingreso de datos.
     @1,#           >      [PROGRAMA]            >         Error en el ingreso de datos.
  12.1,10.1         >      [PROGRAMA]            >               Éxito al ingresar.
      10            >      [PROGRAMA]            >         Error en el ingreso de datos.
      1.2           >      [PROGRAMA]            >         Error en el ingreso de datos.
                    >      [PROGRAMA]            >         Error en el ingreso de datos.
   2,45,67          >      [PROGRAMA]            >         Error en el ingreso de datos.
  0012,0010         >      [PROGRAMA]            >               Éxito al ingresar.
    1 2,1,2         >      [PROGRAMA]            >         Error en el ingreso de datos.
 Tres,cuatro        >      [PROGRAMA]            >         Error en el ingreso de datos.
Diagramas de Clases:
Puebla en swing.




Diagrama Clases
Prueba en consola
Diagrama flujos programa swing




Diagrama de flujos- programa consola
Codigo Fuente Programa swing:
import com.mysql.jdbc.PreparedStatement;
import conexion.conexion;
import java.awt.Color;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.util.*;
import javax.swing.table.DefaultTableModel;
public class Prueba21 implements ActionListener{
  String tabla;
  conexion con;
  JFrame ventana=new JFrame( "Regresion lineal" );


  private javax.swing.JScrollPane jScrollPane1;
  private javax.swing.JTable jTable1;
  DefaultTableModel modelo;
  List <x_e_y> lista=new ArrayList <x_e_y>();
  JScrollPane j =new JScrollPane();




  JPanel p1= new JPanel();
JPanel p2= new JPanel();
JPanel p3= new JPanel();
int contador=0;
String funcion;


 private JButton consulta;
 private JLabel jLabel2;
 private JLabel jLabel3;
 private JLabel jLabel4;
 private JTextField texto_a;
 private JTextField texto_b;
 private JTextField texto_r;


 public JPanel panel1(JPanel jPanel1){


   jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
   jLabel4 = new JLabel();
   texto_r = new JTextField();
   texto_b = new JTextField();
   jLabel3 = new JLabel();
   jLabel2 = new JLabel();
   texto_a = new JTextField();
   consulta = new JButton();




   jPanel1.setLayout(null);
jLabel4.setText( "R²:" );
    consulta.setText( "consultar datos" );
    jLabel3.setText( "b: " );
    jLabel2.setText( "a: " );


    jPanel1.add(consulta);
    jPanel1.add(jLabel4);
    jPanel1.add(texto_r);
    jPanel1.add(texto_b);
    jPanel1.add(jLabel3);
    jPanel1.add(jLabel2);
    jPanel1.add(texto_a);
    consulta.addActionListener(this);


    jPanel1.setBackground(Color.white);
    jPanel1.setBounds(380, 20, 300, 140);
    texto_a.setBounds(50, 80, 230, 20);
    texto_r.setBounds(50, 110, 230, 20);
    consulta.setBounds(20, 10, 130, 23);
    jLabel3.setBounds(20, 80, 47, 20);
    texto_b.setBounds(50, 50, 230, 20);
    jLabel2.setBounds(20, 50, 47, 14);


    jLabel4.setBounds(20, 110, 190, 14);
return jPanel1;
}
private JButton eliminar_fila;
private JButton eliminar_fila_n;
private JTextField fila_ingreso;
private JLabel jLabel10;
private JLabel jLabel11;
private JLabel jLabel9;


public JPanel panel2(JPanel jPanel2){
  jPanel2 = new JPanel();
  jLabel9 = new JLabel();
  eliminar_fila = new JButton();
  eliminar_fila_n = new JButton();
  fila_ingreso = new JTextField();
  jLabel10 = new JLabel();
  jLabel11 = new JLabel();
  jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
  jPanel2.setLayout(null);


  jLabel9.setText( "Eliminar fila anterior" );
  eliminar_fila.setText( "OK" );
  eliminar_fila_n.setText( "OK" );
  jLabel10.setText( "ingrese n° de fila" );
  jLabel11.setText( "Eliminar fila " );




  jPanel2.add(jLabel9);
jPanel2.add(eliminar_fila);
    jPanel2.add(eliminar_fila_n);
    jPanel2.add(jLabel11);
    jPanel2.add(jLabel10);
    jPanel2.setLayout(null);
    jPanel2.add(fila_ingreso);
    eliminar_fila.addActionListener(this);
    eliminar_fila_n .addActionListener(this);


    jPanel2.setBackground(Color.white);
    jPanel2.setBounds(380, 170, 300, 130);
    jLabel11.setBounds(20, 20, 100, 14);
    jLabel10.setBounds(20, 40, 110, 20);
    fila_ingreso.setBounds(130, 40, 50, 20);
    eliminar_fila_n.setBounds(200, 40, 80, 20);
    eliminar_fila.setBounds(80, 100, 130, 23);
    jLabel9.setBounds(50, 80, 180, 14);


return jPanel2;
}
private JButton guardar_salir;
private JLabel jLabel1;
private JLabel jLabel8;
private JPanel jPanel3;




public JPanel panel3(JPanel jPanel3,String e[],Object[][] matriz){
jScrollPane1 = new JScrollPane();
     jTable1 = new JTable();
     jTable1.setModel(new DefaultTableModel(matriz,e));
     modelo=(DefaultTableModel) jTable1.getModel();
     jScrollPane1.setViewportView(jTable1);




     guardar_salir = new JButton();
     jLabel1 = new JLabel();
     jLabel8 = new JLabel();


     jPanel3.setLayout(null);
     guardar_salir.setText( "guardar y salir" );
     jLabel1.setText( "tabla de datos" );
     jLabel8.setText( "jonathan Lincoqueo - Camilo Friz - Robert Calbul - Diego
Tapia" );
     jPanel3.add(guardar_salir);
     jPanel3.add(jLabel1);
     jPanel3.add(jLabel8);
     jPanel3.add(jScrollPane1);
     guardar_salir.addActionListener(this);
     jTable1.addMouseListener(new MouseAdapter()
 {




public void mouseClicked(MouseEvent e)
{
        int fila = jTable1.rowAtPoint(e.getPoint());
        fila_ingreso.setText( "" +fila);
    }
});
        jPanel3.setBackground(Color.white);
        jPanel3.setBounds(0, 0, 690, 450);
        jLabel1.setBounds(21, 5, 144, 19);
        jScrollPane1.setBounds(10, 32, 340, 390);
        jLabel8.setBounds(60, 430, 620, 14);
        guardar_salir.setBounds(420, 330, 230, 70);
return jPanel3;
}
Prueba21(String tabla,String funcion) throws SQLException{
      this.funcion=funcion;
      this.tabla=tabla;
        Object[][] filas= {{null,null}};
        String enunciados[]={ " x " , " y " };


        panel3(p1,enunciados,filas);
        p1.add(panel1(p2));
        p1.add(panel2(p3));


        if(funcion.equals( "select " )){
            llenar_tabla();
        }
        ventana.setLayout(null);
ventana.add(p1);
      ventana.setSize(700,500);
      ventana.setVisible(true);
      jTable1.addKeyListener(new KeyAdapter() {
              @Override
              public void keyPressed(KeyEvent evt) {
           if(modelo.getValueAt(contador,0)!=null &&
modelo.getValueAt(contador,1)!=null){
                      modelo.addRow(new Object[0]);
                      contador++;
                  }
              }
        });


  }
  public void llenar_tabla() throws SQLException{
      con=new conexion();
     PreparedStatement select= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
              + "select * from " +this.tabla);


      ResultSet rs = select.executeQuery();




      while (rs.next()) {
System.out.println(rs.getDouble(2)+ "     " +rs.getDouble(3));
          modelo.addRow(new Object[0]);
          modelo.setValueAt(rs.getDouble(2)+ "" ,contador,0);
          modelo.setValueAt(rs.getDouble(3)+ "" ,contador,1);
          contador++;
      }
      modelo.removeRow(modelo.getRowCount()-1);
      contador--;
      con.closeConexionMysql();
  }
  public void insertar() throws SQLException{
      con=new conexion();
     PreparedStatement delete= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
            + "delete from " +this.tabla+ ";" );
      delete.executeUpdate();
     PreparedStatement insert= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
            + "INSERT INTO " +this.tabla+ "(x,y)values(?,?);" );
      for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
          x_e_y e= datos.next();
          insert.setDouble(1,e.getX());
          insert.setDouble(2,e.getY());
          insert.executeUpdate();
      }
  }


  public void generar_listas(){
try{
        for(int filas=0;filas<=contador;filas++){
                double datos_x=Double.parseDouble(modelo.getValueAt(filas,0)+ "" );
                double datos_y=Double.parseDouble(modelo.getValueAt(filas,1)+ "" );
                lista.add(new x_e_y(filas,datos_x,datos_y));
                System.out.println( "raro muy raro" );
        }
}catch(NumberFormatException e){


JOptionPane.showMessageDialog(null,"ingrese solo numeros y/o valide los
numerosn validacion == enter","Error",JOptionPane.ERROR_MESSAGE);
}


}
    }




    public void actionPerformed(ActionEvent e) {
        Object fuente = e.getSource();
        if (fuente==eliminar_fila && modelo.getRowCount()!=0){
        modelo.removeRow(modelo.getRowCount()-1);
        contador--;
        }
        if (fuente==eliminar_fila_n && modelo.getRowCount()!=0){
            modelo.removeRow(Integer.parseInt(fila_ingreso.getText()));
            fila_ingreso.setText( "" );
            contador--;
            }
        if (fuente==guardar_salir)          {
contador--;
         lista.clear();
         generar_listas();
                try {
                   insertar();
                } catch (SQLException ex) {
                   Logger.getLogger(Prueba21.class.getName()).log(Level.SEVERE, null,
ex);                }
        }
        if (fuente==consulta){
                lista.clear();
                generar_listas();
            if(!funcion.equals( "select" )) {
            contador --;
            }
        calculo();
        }
  }
       public void calculo(){
       double promedio_x=0,promedio_y=0,suma_x=0,suma_y=0,suma_x_e_y=0;


            contador++;
       double x_menos_promedio_x[]=new double[contador];
       double y_menos_promedio_y[]=new double[contador];
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
    x_e_y e= datos.next();
    System.out.println( "x" +e.getX());
     suma_x+=e.getX();
     suma_y+=e.getY();
}


promedio_x=suma_x/contador;
promedio_y=suma_y/contador;




int i=0;
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
    x_e_y e= datos.next();


    suma_x_e_y+=(e.getX()-promedio_x)*(e.getY()-promedio_y);
    x_menos_promedio_x[i]=(e.getX()-promedio_x);
    y_menos_promedio_y[i]=(e.getY()-promedio_y);
    i++;
}
double suma_x_cuadrado=0,suma_y_cuadrado=0;


for(int jj=0;jj<contador;jj++){


suma_x_cuadrado+=((x_menos_promedio_x[jj])*(x_menos_promedio_x[jj]));
suma_y_cuadrado+= y_menos_promedio_y[jj]* y_menos_promedio_y[jj];
}
double resultado_b=(suma_x_e_y/suma_x_cuadrado);
     double
resultado_r=((suma_x_e_y*suma_x_e_y)/(suma_x_cuadrado*suma_y_cuadrado));
      double resultado_a=(promedio_y-(resultado_b*promedio_x));


      if(suma_x_e_y==0 ||suma_x_cuadrado==0){
      resultado_a=promedio_y;
      resultado_r=1;
      }
      texto_b.setText(""+resultado_b);
      texto_a.setText(""+resultado_a);
      texto_r.setText(""+resultado_r);
      }
  }
FUENTE PROGRAMA CONSOLA:
MODELADO BASE DE DATOS:
CAPTURAS:
Programa en swing
Programa consola

Contenu connexe

Tendances

Programación en c++_u5
Programación en c++_u5Programación en c++_u5
Programación en c++_u5Felix GB
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptjubacalo
 
Copilacion de ejercicios en java
Copilacion de ejercicios en javaCopilacion de ejercicios en java
Copilacion de ejercicios en javaJonathan Israel
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.jubacalo
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Jair Ospino Ardila
 
DescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y InterfazDescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y Interfazluisfe
 
Leccion 04 plataforma java operadores especiales prototipos paso por refere...
Leccion 04   plataforma java operadores especiales prototipos paso por refere...Leccion 04   plataforma java operadores especiales prototipos paso por refere...
Leccion 04 plataforma java operadores especiales prototipos paso por refere...letm
 
Trabajo final
Trabajo finalTrabajo final
Trabajo finalgmr979
 

Tendances (20)

Programación en c++_u5
Programación en c++_u5Programación en c++_u5
Programación en c++_u5
 
Ajax
AjaxAjax
Ajax
 
Consultas
ConsultasConsultas
Consultas
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
 
Cómo domar SonataAdminBundle
Cómo domar SonataAdminBundleCómo domar SonataAdminBundle
Cómo domar SonataAdminBundle
 
Copilacion de ejercicios en java
Copilacion de ejercicios en javaCopilacion de ejercicios en java
Copilacion de ejercicios en java
 
Scrip de la base de datos cine
Scrip de la base de datos cineScrip de la base de datos cine
Scrip de la base de datos cine
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.
 
Elemento n3
Elemento n3Elemento n3
Elemento n3
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Ejercisos condicionales 1
Ejercisos condicionales 1Ejercisos condicionales 1
Ejercisos condicionales 1
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 
DescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y InterfazDescripcióN De Codigo Y Interfaz
DescripcióN De Codigo Y Interfaz
 
Taller cuentas
Taller cuentasTaller cuentas
Taller cuentas
 
Eliita
EliitaEliita
Eliita
 
Leccion 04 plataforma java operadores especiales prototipos paso por refere...
Leccion 04   plataforma java operadores especiales prototipos paso por refere...Leccion 04   plataforma java operadores especiales prototipos paso por refere...
Leccion 04 plataforma java operadores especiales prototipos paso por refere...
 
Hechos en clase
Hechos en claseHechos en clase
Hechos en clase
 
Funciones
FuncionesFunciones
Funciones
 
55
5555
55
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 

Similaire à Prueba regresion lineal

Similaire à Prueba regresion lineal (20)

Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Vector
Vector Vector
Vector
 
Taller interfaz 3
Taller interfaz 3Taller interfaz 3
Taller interfaz 3
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeans
 
Ejemplos robert miguel
Ejemplos robert miguelEjemplos robert miguel
Ejemplos robert miguel
 
ALGORITMOS EN JAVA
ALGORITMOS EN JAVAALGORITMOS EN JAVA
ALGORITMOS EN JAVA
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Manual de android
Manual de androidManual de android
Manual de android
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Presentacion
PresentacionPresentacion
Presentacion
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Documentación de pruebas del software
Documentación de pruebas del softwareDocumentación de pruebas del software
Documentación de pruebas del software
 
Aplication
AplicationAplication
Aplication
 
Gestion de la Memoria Final!!!!!.docx
Gestion de la Memoria Final!!!!!.docxGestion de la Memoria Final!!!!!.docx
Gestion de la Memoria Final!!!!!.docx
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 

Prueba regresion lineal

  • 1. Fecha de Entrega: 01 de diciembre de 2011. Integrantes: -Robert Calbul Yevilao. -Camilo Friz Gómez. -Jonathan Lincoqueo. -Diego Tapia .
  • 2. Actividades de Aplicación: Objetivos: Desarrollar una aplicación basada en la arquitectura Cliente-Servidor de tres niveles (MVC: Modelo-Vista-Controlador). Debe presentar dos alternativas de solución al problema de ayudar a ajustar una curva, usando regresión lineal, para lo cual, la aplicación debe permitir al usuario ingresar los puntos (x,y) en una base de datos MySql. Paso 1: Ejemplos Entrada/Salida: ENTRADA > [PROGRAMA] > Salida 12.5,1.3 > [PROGRAMA] > Éxito al ingresar. 12,10 > [PROGRAMA] > Éxito al ingresar. 1.0,1.5 > [PROGRAMA] > Éxito al ingresar. Abc,1.5 A > [PROGRAMA] > Error en el ingreso de datos. ABC,d-c > [PROGRAMA] > Error en el ingreso de datos. 1-5,1-2 > [PROGRAMA] > Error en el ingreso de datos. @1,# > [PROGRAMA] > Error en el ingreso de datos. 12.1,10.1 > [PROGRAMA] > Éxito al ingresar. 10 > [PROGRAMA] > Error en el ingreso de datos. 1.2 > [PROGRAMA] > Error en el ingreso de datos. > [PROGRAMA] > Error en el ingreso de datos. 2,45,67 > [PROGRAMA] > Error en el ingreso de datos. 0012,0010 > [PROGRAMA] > Éxito al ingresar. 1 2,1,2 > [PROGRAMA] > Error en el ingreso de datos. Tres,cuatro > [PROGRAMA] > Error en el ingreso de datos.
  • 6. Diagrama flujos programa swing Diagrama de flujos- programa consola
  • 8. import com.mysql.jdbc.PreparedStatement; import conexion.conexion; import java.awt.Color; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import java.awt.event.*; import java.sql.ResultSet; import java.util.*; import javax.swing.table.DefaultTableModel; public class Prueba21 implements ActionListener{ String tabla; conexion con; JFrame ventana=new JFrame( "Regresion lineal" ); private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; DefaultTableModel modelo; List <x_e_y> lista=new ArrayList <x_e_y>(); JScrollPane j =new JScrollPane(); JPanel p1= new JPanel();
  • 9. JPanel p2= new JPanel(); JPanel p3= new JPanel(); int contador=0; String funcion; private JButton consulta; private JLabel jLabel2; private JLabel jLabel3; private JLabel jLabel4; private JTextField texto_a; private JTextField texto_b; private JTextField texto_r; public JPanel panel1(JPanel jPanel1){ jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jLabel4 = new JLabel(); texto_r = new JTextField(); texto_b = new JTextField(); jLabel3 = new JLabel(); jLabel2 = new JLabel(); texto_a = new JTextField(); consulta = new JButton(); jPanel1.setLayout(null);
  • 10. jLabel4.setText( "R²:" ); consulta.setText( "consultar datos" ); jLabel3.setText( "b: " ); jLabel2.setText( "a: " ); jPanel1.add(consulta); jPanel1.add(jLabel4); jPanel1.add(texto_r); jPanel1.add(texto_b); jPanel1.add(jLabel3); jPanel1.add(jLabel2); jPanel1.add(texto_a); consulta.addActionListener(this); jPanel1.setBackground(Color.white); jPanel1.setBounds(380, 20, 300, 140); texto_a.setBounds(50, 80, 230, 20); texto_r.setBounds(50, 110, 230, 20); consulta.setBounds(20, 10, 130, 23); jLabel3.setBounds(20, 80, 47, 20); texto_b.setBounds(50, 50, 230, 20); jLabel2.setBounds(20, 50, 47, 14); jLabel4.setBounds(20, 110, 190, 14); return jPanel1; } private JButton eliminar_fila;
  • 11. private JButton eliminar_fila_n; private JTextField fila_ingreso; private JLabel jLabel10; private JLabel jLabel11; private JLabel jLabel9; public JPanel panel2(JPanel jPanel2){ jPanel2 = new JPanel(); jLabel9 = new JLabel(); eliminar_fila = new JButton(); eliminar_fila_n = new JButton(); fila_ingreso = new JTextField(); jLabel10 = new JLabel(); jLabel11 = new JLabel(); jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jPanel2.setLayout(null); jLabel9.setText( "Eliminar fila anterior" ); eliminar_fila.setText( "OK" ); eliminar_fila_n.setText( "OK" ); jLabel10.setText( "ingrese n° de fila" ); jLabel11.setText( "Eliminar fila " ); jPanel2.add(jLabel9);
  • 12. jPanel2.add(eliminar_fila); jPanel2.add(eliminar_fila_n); jPanel2.add(jLabel11); jPanel2.add(jLabel10); jPanel2.setLayout(null); jPanel2.add(fila_ingreso); eliminar_fila.addActionListener(this); eliminar_fila_n .addActionListener(this); jPanel2.setBackground(Color.white); jPanel2.setBounds(380, 170, 300, 130); jLabel11.setBounds(20, 20, 100, 14); jLabel10.setBounds(20, 40, 110, 20); fila_ingreso.setBounds(130, 40, 50, 20); eliminar_fila_n.setBounds(200, 40, 80, 20); eliminar_fila.setBounds(80, 100, 130, 23); jLabel9.setBounds(50, 80, 180, 14); return jPanel2; } private JButton guardar_salir; private JLabel jLabel1; private JLabel jLabel8; private JPanel jPanel3; public JPanel panel3(JPanel jPanel3,String e[],Object[][] matriz){
  • 13. jScrollPane1 = new JScrollPane(); jTable1 = new JTable(); jTable1.setModel(new DefaultTableModel(matriz,e)); modelo=(DefaultTableModel) jTable1.getModel(); jScrollPane1.setViewportView(jTable1); guardar_salir = new JButton(); jLabel1 = new JLabel(); jLabel8 = new JLabel(); jPanel3.setLayout(null); guardar_salir.setText( "guardar y salir" ); jLabel1.setText( "tabla de datos" ); jLabel8.setText( "jonathan Lincoqueo - Camilo Friz - Robert Calbul - Diego Tapia" ); jPanel3.add(guardar_salir); jPanel3.add(jLabel1); jPanel3.add(jLabel8); jPanel3.add(jScrollPane1); guardar_salir.addActionListener(this); jTable1.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e)
  • 14. { int fila = jTable1.rowAtPoint(e.getPoint()); fila_ingreso.setText( "" +fila); } }); jPanel3.setBackground(Color.white); jPanel3.setBounds(0, 0, 690, 450); jLabel1.setBounds(21, 5, 144, 19); jScrollPane1.setBounds(10, 32, 340, 390); jLabel8.setBounds(60, 430, 620, 14); guardar_salir.setBounds(420, 330, 230, 70); return jPanel3; } Prueba21(String tabla,String funcion) throws SQLException{ this.funcion=funcion; this.tabla=tabla; Object[][] filas= {{null,null}}; String enunciados[]={ " x " , " y " }; panel3(p1,enunciados,filas); p1.add(panel1(p2)); p1.add(panel2(p3)); if(funcion.equals( "select " )){ llenar_tabla(); } ventana.setLayout(null);
  • 15. ventana.add(p1); ventana.setSize(700,500); ventana.setVisible(true); jTable1.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent evt) { if(modelo.getValueAt(contador,0)!=null && modelo.getValueAt(contador,1)!=null){ modelo.addRow(new Object[0]); contador++; } } }); } public void llenar_tabla() throws SQLException{ con=new conexion(); PreparedStatement select= (PreparedStatement) con.getConexionMysql().prepareStatement("" + "select * from " +this.tabla); ResultSet rs = select.executeQuery(); while (rs.next()) {
  • 16. System.out.println(rs.getDouble(2)+ " " +rs.getDouble(3)); modelo.addRow(new Object[0]); modelo.setValueAt(rs.getDouble(2)+ "" ,contador,0); modelo.setValueAt(rs.getDouble(3)+ "" ,contador,1); contador++; } modelo.removeRow(modelo.getRowCount()-1); contador--; con.closeConexionMysql(); } public void insertar() throws SQLException{ con=new conexion(); PreparedStatement delete= (PreparedStatement) con.getConexionMysql().prepareStatement("" + "delete from " +this.tabla+ ";" ); delete.executeUpdate(); PreparedStatement insert= (PreparedStatement) con.getConexionMysql().prepareStatement("" + "INSERT INTO " +this.tabla+ "(x,y)values(?,?);" ); for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){ x_e_y e= datos.next(); insert.setDouble(1,e.getX()); insert.setDouble(2,e.getY()); insert.executeUpdate(); } } public void generar_listas(){
  • 17. try{ for(int filas=0;filas<=contador;filas++){ double datos_x=Double.parseDouble(modelo.getValueAt(filas,0)+ "" ); double datos_y=Double.parseDouble(modelo.getValueAt(filas,1)+ "" ); lista.add(new x_e_y(filas,datos_x,datos_y)); System.out.println( "raro muy raro" ); } }catch(NumberFormatException e){ JOptionPane.showMessageDialog(null,"ingrese solo numeros y/o valide los numerosn validacion == enter","Error",JOptionPane.ERROR_MESSAGE); } } } public void actionPerformed(ActionEvent e) { Object fuente = e.getSource(); if (fuente==eliminar_fila && modelo.getRowCount()!=0){ modelo.removeRow(modelo.getRowCount()-1); contador--; } if (fuente==eliminar_fila_n && modelo.getRowCount()!=0){ modelo.removeRow(Integer.parseInt(fila_ingreso.getText())); fila_ingreso.setText( "" ); contador--; } if (fuente==guardar_salir) {
  • 18. contador--; lista.clear(); generar_listas(); try { insertar(); } catch (SQLException ex) { Logger.getLogger(Prueba21.class.getName()).log(Level.SEVERE, null, ex); } } if (fuente==consulta){ lista.clear(); generar_listas(); if(!funcion.equals( "select" )) { contador --; } calculo(); } } public void calculo(){ double promedio_x=0,promedio_y=0,suma_x=0,suma_y=0,suma_x_e_y=0; contador++; double x_menos_promedio_x[]=new double[contador]; double y_menos_promedio_y[]=new double[contador];
  • 19. for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){ x_e_y e= datos.next(); System.out.println( "x" +e.getX()); suma_x+=e.getX(); suma_y+=e.getY(); } promedio_x=suma_x/contador; promedio_y=suma_y/contador; int i=0; for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){ x_e_y e= datos.next(); suma_x_e_y+=(e.getX()-promedio_x)*(e.getY()-promedio_y); x_menos_promedio_x[i]=(e.getX()-promedio_x); y_menos_promedio_y[i]=(e.getY()-promedio_y); i++; } double suma_x_cuadrado=0,suma_y_cuadrado=0; for(int jj=0;jj<contador;jj++){ suma_x_cuadrado+=((x_menos_promedio_x[jj])*(x_menos_promedio_x[jj])); suma_y_cuadrado+= y_menos_promedio_y[jj]* y_menos_promedio_y[jj]; }
  • 20. double resultado_b=(suma_x_e_y/suma_x_cuadrado); double resultado_r=((suma_x_e_y*suma_x_e_y)/(suma_x_cuadrado*suma_y_cuadrado)); double resultado_a=(promedio_y-(resultado_b*promedio_x)); if(suma_x_e_y==0 ||suma_x_cuadrado==0){ resultado_a=promedio_y; resultado_r=1; } texto_b.setText(""+resultado_b); texto_a.setText(""+resultado_a); texto_r.setText(""+resultado_r); } }
  • 22.
  • 23.