Package controlador

Source Code of controlador.JuegoControlador

package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.swing.*;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

import vista.JuegoVista;
import modelo.Juego;
import modelo.Partida;

public class JuegoControlador {
  private Juego modelo;
  private JuegoVista vista;
  private static final String SAVEDPATH = "xml/saved/partidaGuardada.xml";

  public JuegoControlador(Juego modelo, JuegoVista vista) {
    this.modelo = modelo;
    this.vista = vista;
    checkPartidaGuardada();

    this.vista.addNuevaPartidaListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        nuevaPartida();
      }
    });

    this.vista.addSalirJuegoListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int salida = JOptionPane.showOptionDialog(null, "�Desea Salir del Juego?", "Confirmar salida",
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null,
            new String[] { "Si", "No" }, "default");
        if (salida == 0) {
          System.exit(0);
        }
      }
    });

    this.vista.addCargarPartidaListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        cargarPartida();
      }
    });
  }

  private void checkPartidaGuardada() {
    File archivo = new File(SAVEDPATH);
    this.vista.enableCargarPartida(archivo.exists());
  }

  private void nuevaPartida() {
    try {
      Partida modeloPartida = this.modelo.nuevaPartida();
      new NuevaPartidaControlador(modeloPartida, this.vista);
    } catch (ParserConfigurationException | SAXException | IOException e1) {
      throw new RuntimeException(e1);
    }
  }

  private void cargarPartida() {
    try {
      Partida modeloPartida = this.modelo.cargarPartida();
      new NuevaPartidaControlador(modeloPartida, this.vista);
    } catch (ParserConfigurationException | SAXException | IOException e1) {
      throw new RuntimeException(e1);
    }
  }
}
TOP

Related Classes of controlador.JuegoControlador

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.