Package practica1.actions

Source Code of practica1.actions.ActionMostrarPoblacion

package practica1.actions;

import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.KeyStroke;
import practica1.language.Language;
import practica1.language.LanguageEvent;
import practica1.language.LanguageListener;
import practica1.logic.LogicPoblacion;
import practica1.ui.VentanaMostrarPoblacion;

/**
* Clase que implementa la acción de mostrar la población en una nueva ventana
* @author Miguel González - Ceura
*/
public class ActionMostrarPoblacion extends AbstractAction implements LanguageListener {

    private LogicPoblacion poblacion;
   
    /**
     * Constructor de la clase que recibe una población al que se asocia la
     * acción.
     * @param poblacion Poblacion
     */
    public ActionMostrarPoblacion(LogicPoblacion poblacion) {
        super(Language.getI().getP("MOSTRAR_NUEVA_VENTANA"), null);
       
        this.poblacion = poblacion;
       
        putValue(SHORT_DESCRIPTION, Language.getI().getP("MOSTRAR_NUEVA_VENTANA"));
        putValue(NAME, Language.getI().getP("MOSTRAR_NUEVA_VENTANA"));
        putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_M,
                InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK));
        putValue(MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_M));
        putValue(SELECTED_KEY, Boolean.TRUE);
       
        initIdiomaListener();
    }
   
    private void initIdiomaListener() {
        Language.getI().addLanguageListener(this);       
    }
   
    /**
     * Cuando sucede la acción nos encargamos de cargar una nueva ventana
     * con la información de la población.
     * @param e ActionEvent
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        VentanaMostrarPoblacion ventana = new VentanaMostrarPoblacion(
                poblacion);
        ventana.setVisible(true);
    }

    /**
     * Al cambiar el idioma actualizamos el nombre y la descripción
     * @param evt LanguageEvent
     */
    @Override
    public void idiomaChange(LanguageEvent evt) {
        putValue(SHORT_DESCRIPTION, Language.getI().getP("MOSTRAR_NUEVA_VENTANA"));
        putValue(NAME, Language.getI().getP("MOSTRAR_NUEVA_VENTANA"));
    }
   
}
TOP

Related Classes of practica1.actions.ActionMostrarPoblacion

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.