Class EnvironmentPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
EnvironmentEditionPanel, EnvironmentSimulationPanel

public class EnvironmentPanel extends JPanel
Clase que permite dibujar el laberinto de un entorno en un panel. Controla también el nivel de zoom, que es el mismo en todos los entornos.
See Also:
Serialized Form
  • Field Details

  • Constructor Details

    • EnvironmentPanel

      public EnvironmentPanel(Environment env)
      Crea un nuevo panel de dibujo de entornos del entorno especificado.
      Parameters:
      env - Entorno que se dibujará en el panel.
  • Method Details

    • setEnvironment

      public void setEnvironment(Environment env)
      Establece el entorno que desea dibujarse en el panel.
      Parameters:
      env - Nuevo entorno que se dibujará en el panel.
    • updateSize

      public void updateSize()
      Actualiza el tamaño del panel si hay un entorno cargado y el entorno tiene un laberinto válido cargado.
    • setZoom

      public static void setZoom(double zoom)
      Establece el nivel de aumento de visualización de todos los entornos.
      Parameters:
      zoom - Nivel de escala que se quiere aplicar a la visualización de los paneles.
    • getCellSize

      public static double getCellSize()
      Returns:
      El tamaño en píxeles de cada celda del laberinto.
    • screenCoordToGrid

      public static Point screenCoordToGrid(Point coord)
      Traduce una coordenada de ratón en la pantalla (local al panel) a una dirección de celda dentro de un laberinto.
      Parameters:
      coord - Coordenadas (x, y) del ratón.
      Returns:
      Posición (x, y) dentro de la matriz del laberinto.
    • gridCoordToScreen

      public static Point gridCoordToScreen(Point coord)
      Traduce una dirección de celda dentro de un laberinto a una coordenada de ratón en la pantalla (local al panel).
      Parameters:
      coord - Posición (x, y) dentro de la matriz del laberinto.
      Returns:
      Coordenadas (x, y) del ratón.
    • paintComponent

      protected void paintComponent(Graphics g)
      Overrides:
      paintComponent in class JComponent
    • differentColor

      protected static Color differentColor(Color color)
      Obtiene un color fácilmente diferenciable de otro color indicado. Cuando se le indican colores muy cercanos al blanco o al negro, los colores que devuelve no se diferencian con claridad.
      Parameters:
      color - El color del que se quiere buscar otro diferente.
      Returns:
      El color que