/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
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);
Language.getI().addLanguageListener(this);
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, new Integer(KeyEvent.VK_M));
putValue(SELECTED_KEY, Boolean.TRUE);
}
/**
* 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);
}
/**
* 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"));
}
}