Package practica1.ui

Source Code of practica1.ui.VentanaMostrarPoblacion

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package practica1.ui;

import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import practica1.controller.Controller;
import practica1.controller.event.ControllerPoblacionEvent;
import practica1.controller.listener.ControllerPoblacionListener;
import practica1.logic.LogicPoblacion;
import practica1.logic.event.LogicPoblacionEvent;
import practica1.logic.listener.LogicPoblacionListener;
import practica1.ui.panelPoblacion.PanelPoblacion;

/**
* Componente que permite visualizar en una nueva ventana una población
* @author Miguel González - Ceura
*/
public class VentanaMostrarPoblacion extends JFrame {
    private LogicPoblacion poblacion;
   
    /**
     * Constructor de la ventana que muestra una nueva población y se pone
     * visible por defecto
     * @param poblacion LogicPoblacion Población a visualizar
     */
    public VentanaMostrarPoblacion(LogicPoblacion poblacion) {
        super(poblacion.getExperimentoPadre().getNombreExperimento()
                + " - " + poblacion.getNombrePoblacion());
       
        this.poblacion = poblacion;
       
        init();
       
        initListeners();
    }
   
    /**
     * Inicializa los componentes Swings
     */
    private void init() {
        Container contentPane = getContentPane();
        contentPane.setLayout(new BorderLayout());
        setBounds(100, 100, 600, 500);
       
        PanelPoblacion panelPob = new PanelPoblacion(poblacion);
        contentPane.add(panelPob, BorderLayout.CENTER);
        setVisible(true);
       
    }
   
    /**
     * Inicializa los listeners
     */
    private void initListeners() {
        poblacion.addLogicPoblacionListener(new LogicPoblacionListener() {
            /**
             * Cuando la población cambia actualizamos el nombre de la ventana
             * por si el nombre de la población ha cambiado
             */
            @Override
            public void poblacionChange(LogicPoblacionEvent event) {
                setName(poblacion.getExperimentoPadre().getNombreExperimento()
                + " - " + poblacion.getNombrePoblacion());
            }
        });
       
        Controller.getInstance().addControllerPoblacionListener(
                new ControllerPoblacionListener() {

            @Override
            public void addedPoblacion(ControllerPoblacionEvent event) {}

            @Override
            public void removedPoblacion(ControllerPoblacionEvent event) {
                //Si se ha borrado la población que estramos mostrando ocultamos
                //la ventana
                if(event.getPoblacion().equals(poblacion)) {
                    setVisible(false);
                }
            }

            @Override
            public void modifiedPoblacion(ControllerPoblacionEvent event) {}

            @Override
            public void abiertaPoblacion(ControllerPoblacionEvent event) {}

            @Override
            public void cerradaPoblacion(ControllerPoblacionEvent event) {}

            @Override
            public void mostrarPoblacion(ControllerPoblacionEvent event) {}           
        });
    }
}
TOP

Related Classes of practica1.ui.VentanaMostrarPoblacion

TOP
Copyright © 2018 www.massapi.com. 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.