Package epidemic.gui

Class MapPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class MapPanel extends JPanel
Złożony komponent graficzny pełniący rolę głównego widoku operacyjnego. Składa się z dynamicznie odświeżanego płótna (DrawingPanel) renderującego stan przestrzenny mapy oraz bocznego panelu telemetrycznego (InspectorPanel) wykorzystującego polimorfizm do wyświetlania szczegółów wybranych obiektów.
See Also:
  • Field Details

  • Constructor Details

    • MapPanel

      public MapPanel(WorldMap world)
      Tworzy i konfiguruje układ paneli wizualnych.
      Parameters:
      world - Referencja do mapy świata, z której pobierane będą obiekty do renderowania.
  • Method Details

    • getColorForStatus

      private Color getColorForStatus(HealthStatus status)
    • setupMouseListener

      public void setupMouseListener(SimulationEngine engine)
      Rejestruje nasłuchiwacz zdarzeń myszy, implementujący logikę hit-testingu. Priorytetyzuje wybór obiektów na mapie: w pierwszej kolejności sprawdza obiekty infrastruktury (szpitale), a w przypadku ich braku przechodzi do wyszukiwania agentów w promieniu zdefiniowanym w konfiguracji.
      Parameters:
      engine - Referencja do silnika symulacji (gotowa do ewentualnego rozszerzenia interakcji).
    • repaint

      public void repaint()
      Przeciąża standardową metodę przerysowania komponentu, kaskadowo wymuszając aktualizację na podobiektach: płótnie i inspektorze.
      Overrides:
      repaint in class Component