package principal;
import java.awt.*;
import java.awt.event.*;
import Poblacion.VentanaBorrarPoblacion;
import Poblacion.VentanaCrearPoblacion;
import Provincia.VentanaBorrarProvincia;
import Provincia.VentanaCrearProvincia;
import paa.provincias.GestorAEMET;
import paa.provincias.GestorAEMETException;
import paa.provincias.IPoblacion;
/**
* Fichero: InterfazAWT_AEMET.java Clase que implementa la Interfaz Gráfica
* AEMET con awt.
*
* @author PAA
* @version 1.0
*/
public class InterfazAWT_AEMET
extends Frame { /**
*
*/
private static final long serialVersionUID = 502635761186556414L;
private static final String FICHERO
= "almacen.dat"; private AlmacenPoblaciones almacen;
// private IAlmacenPoblaciones almacenPoblaciones;
private List listaPoblaciones
= new List(); private List listaPredicciones
= new List(); private List listaProvincias
= new List(); private InterfazAWT_AEMET gui;
/**
* Constructor.
*
* @throws GestorAEMETException
*/
public InterfazAWT_AEMET
(String titulo,
int ancho,
int alto
) { super(titulo);
setSize(ancho, alto);
setLocationRelativeTo(null);
setLayout
(new BorderLayout()); // Layout de la aplicación, podría ser otro almacen = RecuperarAlmacenPoblaciones();
System.
out.
println(almacen.
getProvincias()); initComponents();
for(String provincia
: almacen.
getProvincias()){ listaProvincias.add(provincia);
}
//Imprimimos provincias y poblaciones en las listas
}
public AlmacenPoblaciones RecuperarAlmacenPoblaciones() {
// Recuperamos el almacén
AlmacenPoblaciones almacenPoblaciones1 = new AlmacenPoblaciones();
if (almacenPoblaciones1.recuperar(FICHERO))
System.
out.
println("Recuperado el almacen del fichero " + FICHERO
); else
System.
out.
println("No se pudo recuperar el almacen del fichero "+ FICHERO
); return almacenPoblaciones1;
}
private void initComponents() {
// Boton salir por defecto
guardarAntesDeSalir();
}
});
setMenuBar(addMenuBar());
}
// Sitúo los menús desplegables
// Creo el menú Archivo
crearCargar.addActionListener(new Controller());
crearGuardar.addActionListener(new Controller());
salir.addActionListener(new Controller());
menuArchivo.add(crearCargar);
menuArchivo.add(crearGuardar);
menuArchivo.add(salir);
// Creo el menú Provincias
Menu menuProvincias
= new Menu("Provincias"); crearProvincias.addActionListener(new Controller());
borrarProvincias.addActionListener(new Controller());
menuProvincias.add(crearProvincias);
menuProvincias.add(borrarProvincias);
// Creo el menu Poblaciones
Menu menuPoblaciones
= new Menu("Poblaciones"); crearPoblacion.addActionListener(new Controller());
borrarPoblacion.addActionListener(new Controller());
ordenarNombre.addActionListener(new Controller());
ordenarHabitantes.addActionListener(new Controller());
modPoblacion.addActionListener(new Controller());
movPoblacion.addActionListener(new Controller());
menuPoblaciones.add(crearPoblacion);
menuPoblaciones.add(borrarPoblacion);
menuPoblaciones.add(ordenarNombre);
menuPoblaciones.add(ordenarHabitantes);
menuPoblaciones.add(modPoblacion);
menuPoblaciones.add(movPoblacion);
// Creo el menú de ayuda
acercaDe.addActionListener(new AcercaDe());
ayuda.add(acercaDe);
// Crea el
barraDeMenu.add(menuArchivo);
barraDeMenu.add(menuProvincias);
barraDeMenu.add(menuPoblaciones);
// Sitúo el menú de ayuda en su sitio
barraDeMenu.setHelpMenu(ayuda);
return barraDeMenu;
}
private Panel addToolBar
() { // Sitúo la línea de botones
lineaDeBotones.
setBackground(Color.
lightGray);
// Boton crear provincia
proCrear.addActionListener(new Controller());
// Boton crear poblacion
poCrear.addActionListener(new Controller());
// Boton actualizar prediccion
aPrediccion.addActionListener(new Controller());
// Añadir los botones a la barra
lineaDeBotones.add(proCrear);
lineaDeBotones.add(poCrear);
lineaDeBotones.add(aPrediccion);
return lineaDeBotones;
}
private Panel addPanelIzquierda
() { // Creamos panel para mostrar provincias y poblaciones y lo colocamos a
// la izquierda
izquierda.add(lProvincia);
izquierda.add(listaProvincias);
izquierda.add(lPoblacion);
izquierda.add(listaPoblaciones);
return izquierda;
}
private Panel addpredicciones
() { // Creamos el panel de las predicciones
Label lPrediccion
= new Label("Predicciones de :"); return predicciones;
}
private Panel addlineaEstado
() { // Sitúo la línea de estado
lineaDeEstado.
setBackground(Color.
lightGray); Label ventanaDeeventos
= new Label("Gestor AEMET v1.0 (PAA)"); lineaDeEstado.add(ventanaDeeventos);
return lineaDeEstado;
}
private void guardarAntesDeSalir() {
// Guardar almacen
almacen.guardar(FICHERO);
System.
out.
println("Gracias por utilizar nuestro programa"); }
String nombre
= e.
getActionCommand(); EvaluarAccion(nombre);
}
public void EvaluarAccion
(String accion
) {
switch (accion) {
case "Guardar":
almacen.guardar(FICHERO);
Aviso guardar = new Aviso(gui, "Archivo guardado");
break;
case "Salir":
break;
case "Crear provincia":
new VentanaCrearProvincia(gui,almacen,listaPoblaciones,listaProvincias,listaPredicciones).setVisible(true);
break;
case "Borrar provincia":
new VentanaBorrarProvincia(gui,almacen,listaPoblaciones,listaProvincias,listaPredicciones).setVisible(true);
break;
case "Crear poblacion":
new VentanaCrearPoblacion(gui,almacen,listaPoblaciones,listaProvincias,listaPredicciones).setVisible(true);
break;
case "Borrar poblacion":
new VentanaBorrarPoblacion(gui,almacen,listaPoblaciones,listaProvincias,listaPredicciones).setVisible(true);
break;
case "Ordenar por nombre":
break;
case "Ordenar por habitantes":
break;
case "Modificar poblacion":
break;
case "Mover poblacion":
break;
}
}
}
/**
* Clase que implementa la acción del menú "acerca de".
*/
VentanaAcercaDe ventanaAcercaDe = new VentanaAcercaDe(
InterfazAWT_AEMET.this);
ventanaAcercaDe.setVisible(true);
}
}// Acerca de
/**
* Método main.
* @throws GestorAEMETException
*/
public static void main
(String[] args
) throws GestorAEMETException
{
InterfazAWT_AEMET mimarco = new InterfazAWT_AEMET("Gestor AEMET", 1000,
500);
mimarco.setVisible(true);
} // Main
}