Package practica1.ui

Examples of practica1.ui.BarraEstado$EscuchadorGuardado


     * Cuando sucede la acción nos encargamos de guardar el experimento seleccionado
     * @param e ActionEvent
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicExperimento exp = Controller.getInstance().
                getExperimentoSeleccionado();
       
        try {
            ManejoExperimento.guardarExperimento(exp);
        } catch (ExperimentoInvalidoException ex) {
View Full Code Here


        if(userObject instanceof LogicExperimento) {
            setIcon(new ImageIcon(Imagenes.getImagen("experimento.gif").
                    getScaledInstance(32, 32, Image.SCALE_DEFAULT)));
           
            LogicExperimento exPrin = Controller.getInstance().
                    getExperimentoPrincipal();
            if(exPrin != null) {
                if(exPrin.equals(userObject)) {
                    //Ponemos en negrita
                    setText("<html><b>" + getText() + "</b></html>");
                }
            }
           
View Full Code Here

            String tipoBacteria = dialog.getTipoBacteria();
            String nombreInvestigador = dialog.getNombreInvestigador();
            String proyectoInvestigacion = dialog.getProyectoInvestigacion();
           
           
            LogicExperimento nuevoExp = new
                    LogicExperimento(fichExp, nombreExp, tipoBacteria,
                    nombreInvestigador, proyectoInvestigacion);

            try {
                //Guardamos el experimento
View Full Code Here

     * Cuando sucede la acción nos encargamos de cerrar el experimento seleccionado
     * @param e ActionEvent Evento producido
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicExperimento exp = Controller.getInstance().
                getExperimentoSeleccionado();
       
        ArrayList<LogicPoblacion> poblacionesSinGuardar = new
                ArrayList<LogicPoblacion>();
       
        if(!exp.isModified()) {
            ArrayList<LogicPoblacion> poblaciones = exp.getPoblaciones();
            for(int i=0; i< poblaciones.size(); i++) {
                if(poblaciones.get(i).isModified()) {
                    poblacionesSinGuardar.add(poblaciones.get(i));
                }
            }
        }
           
        if(exp.isModified() || !poblacionesSinGuardar.isEmpty()) {
            int res = JOptionPane.showConfirmDialog(Practica1.getInstance(),
                    Language.getI().getP("DESEA_GUARDAR_EXPERIMENTO")
                    , Language.getI().getP("CERRAR"),
                    JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
            if(res == JOptionPane.OK_OPTION) {
View Full Code Here

       
        @Override
        public void run() {
            fireAbriendoExperimento(nombreEx);
           
            LogicExperimento exp;
           
            Connection con = null;
            Statement sExp = null;
            Statement sPob = null;
            Statement sTab = null;
            Statement sCom = null;
            ResultSet rsExp = null;
            ResultSet rsPob = null;
            ResultSet rsTab = null;
            ResultSet rsCom = null;
           
            try {
                con = DriverManager.getConnection(DBURL);
               
                sExp = con.createStatement();
                sPob = con.createStatement();
                sTab = con.createStatement();
                sCom = con.createStatement();
               
                rsExp = sExp.executeQuery("SELECT NOMBREEXPERIMENTO, TIPOBACTERIA,"
                        + " NOMBREINVESTIGADOR, PROYECTOINVESTIGACION,"
                        + " NUMDIASEXPERIMENTO, LIMITEALIMENTACIONMAXIMA,"
                        + " UNIDADESMEDIDA FROM " + SCHEMA + ".EXPERIMENTO WHERE"
                        + " NOMBREEXPERIMENTO = '" + nombreEx + "'");
               
                String tipoBacteria;
                String nombreInvestigador;
                String proyectoInvestigacion;
                int numDiasExperimento;
                int limiteAlimentacionMax;
                String unidadesMedida;
               
               
                if(rsExp.next()) {
                    tipoBacteria = rsExp.getString("TIPOBACTERIA");
                    nombreInvestigador = rsExp.getString("NOMBREINVESTIGADOR");
                    proyectoInvestigacion = rsExp.getString("PROYECTOINVESTIGACION");
                    numDiasExperimento = rsExp.getInt("NUMDIASEXPERIMENTO");
                    limiteAlimentacionMax = rsExp.getInt("LIMITEALIMENTACIONMAXIMA");
                    unidadesMedida = rsExp.getString("UNIDADESMEDIDA");
                   
                } else {
                    throw new SQLException("No existe el experimento " +
                            nombreEx + " en base de datos");
                }
               
                //Creamos el experimento a partir de los datos de la BD
                exp = new LogicExperimento(new File(System.getProperty("user.home")),
                        nombreEx, tipoBacteria, nombreInvestigador,
                        proyectoInvestigacion, numDiasExperimento,
                        limiteAlimentacionMax, unidadesMedida, true);
               
                //Ahora obtenemos las poblaciones
                rsPob = sPob.executeQuery("SELECT NOMBREPOBLACION, FECHA,"
                        + " TAMANIOPOBLACION, TEMPERATURA, NUMDIAS,"
                        + " ESCALATEMPERATURA, SINCRONIZARCOMIDA, ALIMENTACIONINI,"
                        + " DIAMAXIMA, ALIMENTACIONMAX, ALIMENTACIONFIN FROM "
                        + SCHEMA + ".POBLACION WHERE NOMBREEXPERIMENTO = '"
                        + nombreEx + "'");
               
               
                while(rsPob.next()) {
                    String nombrePob = rsPob.getString("NOMBREPOBLACION");
                    String fecha = rsPob.getString("FECHA");
                    int tamanio = rsPob.getInt("TAMANIOPOBLACION");
                    int temperatura = rsPob.getInt("TEMPERATURA");
                    int numDias = rsPob.getInt("NUMDIAS");
                    String escalaTemp = rsPob.getString("ESCALATEMPERATURA");
                    boolean sincronizarCom = rsPob.getBoolean("SINCRONIZARCOMIDA");
                    int alimentacionIni = rsPob.getInt("ALIMENTACIONINI");
                    int diaMax = rsPob.getInt("DIAMAXIMA");
                    int alimentacionMax = rsPob.getInt("ALIMENTACIONMAX");
                    int alimentacionFin = rsPob.getInt("ALIMENTACIONFIN");
                   
                    LogicPoblacion p = new LogicPoblacion(nombrePob, exp);
                    p.setFecha(fecha);
                    p.setTamanioPoblacion(tamanio);
                    p.setTemperatura(temperatura);
                    p.setNumDias(numDias);
                    p.setEscalaTemperatura(escalaTemp);
                    p.setSincronizarComida(sincronizarCom);
                   
                    JGraficaComidaModel modelGrafica = new JGraficaComidaModel(numDias,
                            0, limiteAlimentacionMax);
                    modelGrafica.setAlimentoInicial(0);
                    modelGrafica.setAlimentoFinal(0);
                    modelGrafica.setAlimentoMax(alimentacionMax);
                    modelGrafica.setDiaMax(diaMax);
                    modelGrafica.setAlimentoInicial(alimentacionIni);
                    modelGrafica.setAlimentoFinal(alimentacionFin);
                    p.setModeloGraficaComida(modelGrafica);
                   
                    String[][] datos = new String[numDias][];
                    String []cabeceras = new String[]{
                        Language.getI().getP("DIA"),
                        Language.getI().getP("TAMANIO_POBLACION"),
                        Language.getI().getP("BACTERIAS_MUERTAS"),
                        Language.getI().getP("TEMPERATURA"),
                        Language.getI().getP("DOSIS_COMIDA")};
                   
                    //Obtenemos los datos de la tabla de la población
                    rsTab = sTab.executeQuery("SELECT NUMDIA, POBLACION,"
                            + " BACTERIASMUERTAS, TEMPERATURA, COMIDADIA FROM "
                            + SCHEMA + ".DATOSTABLA WHERE NOMBREEXPERIMENTO = "
                            + "'" + nombreEx + "' AND NOMBREPOBLACION = "
                            + "'" + nombrePob + "'");
                   
                    while(rsTab.next()) {
                        int dia = rsTab.getInt("NUMDIA");
                        int poblacion = rsTab.getInt("POBLACION");
                        int bacMuertas = rsTab.getInt("BACTERIASMUERTAS");
                        int temp = rsTab.getInt("TEMPERATURA");
                        int comidaDia = rsTab.getInt("COMIDADIA");
                       
                        datos[dia-1] = new String[]{"" + dia,
                            (poblacion != 0) ? poblacion + "" : "",
                            (bacMuertas != 0) ? bacMuertas + "": "",
                            (temp != 0) ? temp + "" : "",
                            "" + comidaDia};
                    }
                   
                    ModeloPoblacionTabla modelTabla =
                            new ModeloPoblacionTabla(datos, cabeceras);
                    p.setModeloPoblacionTabla(modelTabla);
                   
                    //Obtenemos los comentarios de la población
                    ModeloComentarios modelComentarios = new ModeloComentarios();
                   
                    rsCom = sCom.executeQuery("SELECT FECHACOMENTARIO, COMENTARIO"
                            + " FROM " + SCHEMA + ".COMENTARIOS WHERE NOMBREEXPERIMENTO = "
                            + "'" + nombreEx + "' AND NOMBREPOBLACION = "
                            + "'" + nombrePob + "'");
                   
                    while(rsCom.next()) {
                        String fech = rsCom.getString("FECHACOMENTARIO");
                        String com = rsCom.getString("COMENTARIO");
                       
                        modelComentarios.addComentario(new Comentario(com, fech));
                    }
                   
                    p.setModeloComentarios(modelComentarios);
                   
                    exp.addPoblacion(p);
                }
               
                //Notificamos que hemos abierto el experimento
                exp.setModified(false);
                fireAbiertoExperimento(exp);
            } catch (GraficaComidaIncorrectValueException ex) {
                Practica1.log.error("Error creando modelo de la gráfica comida", ex);
                fireErrorAbriendoExperimento(nombreEx);
            } catch (SQLException ex) {
View Full Code Here

     * Cuando sucede la acción nos encargamos de cerrar el experimento seleccionado
     * @param e ActionEvent Evento producido
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicPoblacion pob = Controller.getInstance().
                getPoblacionSeleccionada();
       
        DialogPropiedadesPoblacion dialog = new DialogPropiedadesPoblacion(
                Practica1.getInstance(), pob);
       
        dialog.setVisible(true);

        if(dialog.getAction() == DialogPropiedadesPoblacion.ACEPTAR) {
            pob.setNombrePoblacion(dialog.getNombrePoblacion());
        }
    }
View Full Code Here

            throw new ExperimentoInvalidoException(
                    Language.getI().getP("FICHERO_INVALIDO"));
        }
       
        //Creamos un modelo de población genérico
        LogicPoblacion modPoblacion = new LogicPoblacion("PobGenerica", exp);
       
        //Cargamos los datos
        modPoblacion.setNombrePoblacion(nombre);
        modPoblacion.setTamanioPoblacion(tamanio);
        modPoblacion.setTemperatura(temperatura);
        modPoblacion.setEscalaTemperatura(escala);
        modPoblacion.setFecha(fecha);
        modPoblacion.setLuminosidad(luminosidad);
        modPoblacion.setSincronizarComida(sincronizar);
        modPoblacion.setModeloGraficaComida(modeloGraficaComida);
        modPoblacion.setModeloPoblacionTabla(modeloPoblacionTabla);
        modPoblacion.setModeloComentarios(modeloComentarios);
        modPoblacion.setModified(false);
       
        //Añadimos el modelo de la población al experimento
        exp.addPoblacion(modPoblacion);
    }
View Full Code Here

         * Cuando se añade una población la agregamos a la barra
         * @param event ControllerPoblacionEvent
         */
        @Override
        public void addedPoblacion(ControllerPoblacionEvent event) {
            LogicPoblacion poblacion = event.getPoblacion();
           
            int posItemEx = experimentosMostrados.indexOf(
                    poblacion.getExperimentoPadre());
           
            JMenu menuPoblacion = new
                    JMenu(poblacion.getNombrePoblacion());
           
           
            menuPoblacion.add(new JMenuItem(
                    new ActionMostrarPoblacion(poblacion)));
           
View Full Code Here

         * Cuando borramos una población la borramos de la barra
         * @param event ControllerPoblacionEvent
         */
        @Override
        public void removedPoblacion(ControllerPoblacionEvent event) {
            LogicPoblacion poblacion = event.getPoblacion();
           
            int posItemEx = experimentosMostrados.indexOf(
                    poblacion.getExperimentoPadre());
           
            JMenu menuExp = (JMenu)menuExpAbiertos.getItem(posItemEx);
           
            int numPob = menuExp.getItemCount();
            boolean encontrado = false;
           
            int posPoblacion = 0;
            for(int i = 0; i<numPob && !encontrado; i++) {
                if(menuExp.getItem(i).getText().equals(poblacion.getNombrePoblacion())) {
                    encontrado = true;
                   posPoblacion = i;
                }
            }
           
View Full Code Here

                        //Es una población
                        String nombrePoblacion = ramaNodoSeleccionado.toString();
                        String nombreExperimento = ramaNodoSeleccionado.
                                getPath()[1].toString();
                       
                        LogicPoblacion poblacion = ((LogicPoblacion)
                                    ((DefaultMutableTreeNode)
                                    ramaNodoSeleccionado.getPath()[2])
                                    .getUserObject());
                       
                       
                        //Abrimos la población
                        controlador.abrirPoblacion(poblacion);
                    }
                } else if(e.getClickCount() == 1 &&
                        e.getButton() == MouseEvent.BUTTON3) {
                    try {
                        //Con el botón derecho tenemos que seleccionar el nodo manualmente
                        int row = arbolExperimentos.getRowForLocation(
                                e.getX(), e.getY());

                        arbolExperimentos.addSelectionRow(row);

                        //Volvemos a pedir el nodo seleccionado
                        ramaNodoSeleccionado =
                            arbolExperimentos.getSelectionPath();

                        //Comprobamos que tipo de nodo es
                        if(ramaNodoSeleccionado.getPath().length == 1) {
                            //Si es la raíz experimentos
                            popupMenuExperimentos.show((JComponent)e.getSource(),
                                    e.getX(), e.getY());
                        } else if(ramaNodoSeleccionado.getPath().length == 2) {
                            //Si es un experimento
                            controlador.setExperimentoSeleccionado((LogicExperimento)
                                    ((DefaultMutableTreeNode)
                                    ramaNodoSeleccionado.getPath()[1])
                                    .getUserObject());
                            popupMenuExperimento.show((JComponent)e.getSource(),
                                    e.getX(), e.getY());
                        } else if(ramaNodoSeleccionado.getPath().length == 3) {
                            //Es una población
                            String nombrePoblacion = ramaNodoSeleccionado.toString();
                            String nombreExperimento = ramaNodoSeleccionado.
                                    getPath()[1].toString();

                            LogicExperimento experimento = ((LogicExperimento)
                                    ((DefaultMutableTreeNode)
                                    ramaNodoSeleccionado.getPath()[1])
                                    .getUserObject());
                           
                            LogicPoblacion poblacion = ((LogicPoblacion)
                                    ((DefaultMutableTreeNode)
                                    ramaNodoSeleccionado.getPath()[2])
                                    .getUserObject());
                           
                            controlador.setExperimentoSeleccionado(experimento);
View Full Code Here

TOP

Related Classes of practica1.ui.BarraEstado$EscuchadorGuardado

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.