Class SolutionPanel<Solution_>

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ai.timefold.solver.examples.common.swingui.SolutionPanel<Solution_>
Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
Direct Known Subclasses:
CloudBalancingPanel, ConferenceSchedulingPanel, CurriculumCoursePanel, ExaminationPanel, FlightCrewSchedulingPanel, MachineReassignmentPanel, MeetingSchedulingPanel, NQueensPanel, NurseRosteringPanel, PatientAdmissionSchedulePanel, ProjectJobSchedulingPanel, TaskAssigningPanel, TennisPanel, TravelingTournamentPanel, TspPanel, VehicleRoutingPanel

public abstract class SolutionPanel<Solution_> extends JPanel implements Scrollable
See Also:
  • Field Details

    • USAGE_EXPLANATION_PATH

      protected static final String USAGE_EXPLANATION_PATH
      See Also:
    • PREFERRED_SCROLLABLE_VIEWPORT_SIZE

      public static final Dimension PREFERRED_SCROLLABLE_VIEWPORT_SIZE
    • INDICTMENT_COLORS

      protected static final Color[][] INDICTMENT_COLORS
    • logger

      protected final transient org.slf4j.Logger logger
    • solverAndPersistenceFrame

      protected SolverAndPersistenceFrame<Solution_> solverAndPersistenceFrame
    • solutionBusiness

      protected SolutionBusiness<Solution_,?> solutionBusiness
    • useIndictmentColor

      protected boolean useIndictmentColor
    • normalColorFactory

      protected TangoColorFactory normalColorFactory
    • indictmentMinimumLevelNumbers

      protected double[] indictmentMinimumLevelNumbers
  • Constructor Details

    • SolutionPanel

      public SolutionPanel()
  • Method Details

    • getSolverAndPersistenceFrame

      public SolverAndPersistenceFrame<Solution_> getSolverAndPersistenceFrame()
    • setSolverAndPersistenceFrame

      public void setSolverAndPersistenceFrame(SolverAndPersistenceFrame<Solution_> solverAndPersistenceFrame)
    • getSolutionBusiness

      public SolutionBusiness<Solution_,?> getSolutionBusiness()
    • setSolutionBusiness

      public void setSolutionBusiness(SolutionBusiness<Solution_,?> solutionBusiness)
    • isUseIndictmentColor

      public boolean isUseIndictmentColor()
    • setUseIndictmentColor

      public void setUseIndictmentColor(boolean useIndictmentColor)
    • getUsageExplanationPath

      public String getUsageExplanationPath()
    • isWrapInScrollPane

      public boolean isWrapInScrollPane()
    • resetPanel

      public abstract void resetPanel(Solution_ solution)
    • updatePanel

      public void updatePanel(Solution_ solution)
    • getSolution

      public Solution_ getSolution()
    • getPreferredScrollableViewportSize

      public Dimension getPreferredScrollableViewportSize()
      Specified by:
      getPreferredScrollableViewportSize in interface Scrollable
    • getScrollableUnitIncrement

      public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
      Specified by:
      getScrollableUnitIncrement in interface Scrollable
    • getScrollableBlockIncrement

      public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
      Specified by:
      getScrollableBlockIncrement in interface Scrollable
    • getScrollableTracksViewportWidth

      public boolean getScrollableTracksViewportWidth()
      Specified by:
      getScrollableTracksViewportWidth in interface Scrollable
    • getScrollableTracksViewportHeight

      public boolean getScrollableTracksViewportHeight()
      Specified by:
      getScrollableTracksViewportHeight in interface Scrollable
    • isIndictmentHeatMapEnabled

      public boolean isIndictmentHeatMapEnabled()
    • preparePlanningEntityColors

      protected void preparePlanningEntityColors(List<?> planningEntityList)
    • determinePlanningEntityColor

      public Color determinePlanningEntityColor(Object planningEntity, Object normalColorObject)
    • determinePlanningEntityTooltip

      public String determinePlanningEntityTooltip(Object planningEntity)
    • doProblemChange

      public void doProblemChange(ai.timefold.solver.core.api.solver.change.ProblemChange<Solution_> problemChange)
    • doProblemChange

      public void doProblemChange(ai.timefold.solver.core.api.solver.change.ProblemChange<Solution_> problemChange, boolean reset)