Skip to content

Commit

Permalink
Add examples in examplesApp: rock tour, scrabble and coach shuttle ga…
Browse files Browse the repository at this point in the history
…thering
  • Loading branch information
ge0ffrey committed Jun 12, 2018
1 parent f7b0fb0 commit b4cb3df
Show file tree
Hide file tree
Showing 8 changed files with 1,239 additions and 59 deletions.
Expand Up @@ -28,7 +28,6 @@
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.Icon; import javax.swing.Icon;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
Expand All @@ -39,10 +38,10 @@
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTextArea; import javax.swing.JTextArea;
import javax.swing.border.TitledBorder;


import org.optaplanner.examples.cheaptime.app.CheapTimeApp; import org.optaplanner.examples.cheaptime.app.CheapTimeApp;
import org.optaplanner.examples.cloudbalancing.app.CloudBalancingApp; import org.optaplanner.examples.cloudbalancing.app.CloudBalancingApp;
import org.optaplanner.examples.coachshuttlegathering.app.CoachShuttleGatheringApp;
import org.optaplanner.examples.common.app.CommonApp; import org.optaplanner.examples.common.app.CommonApp;
import org.optaplanner.examples.common.swingui.OpenBrowserAction; import org.optaplanner.examples.common.swingui.OpenBrowserAction;
import org.optaplanner.examples.common.swingui.SolverAndPersistenceFrame; import org.optaplanner.examples.common.swingui.SolverAndPersistenceFrame;
Expand All @@ -57,12 +56,13 @@
import org.optaplanner.examples.nurserostering.app.NurseRosteringApp; import org.optaplanner.examples.nurserostering.app.NurseRosteringApp;
import org.optaplanner.examples.pas.app.PatientAdmissionScheduleApp; import org.optaplanner.examples.pas.app.PatientAdmissionScheduleApp;
import org.optaplanner.examples.projectjobscheduling.app.ProjectJobSchedulingApp; import org.optaplanner.examples.projectjobscheduling.app.ProjectJobSchedulingApp;
import org.optaplanner.examples.rocktour.app.RockTourApp;
import org.optaplanner.examples.scrabble.app.ScrabbleApp;
import org.optaplanner.examples.taskassigning.app.TaskAssigningApp; import org.optaplanner.examples.taskassigning.app.TaskAssigningApp;
import org.optaplanner.examples.tennis.app.TennisApp; import org.optaplanner.examples.tennis.app.TennisApp;
import org.optaplanner.examples.travelingtournament.app.TravelingTournamentApp; import org.optaplanner.examples.travelingtournament.app.TravelingTournamentApp;
import org.optaplanner.examples.tsp.app.TspApp; import org.optaplanner.examples.tsp.app.TspApp;
import org.optaplanner.examples.vehiclerouting.app.VehicleRoutingApp; import org.optaplanner.examples.vehiclerouting.app.VehicleRoutingApp;
import org.optaplanner.swing.impl.TangoColorFactory;


public class OptaPlannerExamplesApp extends JFrame { public class OptaPlannerExamplesApp extends JFrame {


Expand Down Expand Up @@ -105,6 +105,7 @@ private Container createContentPane() {
JScrollPane examplesScrollPane = new JScrollPane(createExamplesPanel()); JScrollPane examplesScrollPane = new JScrollPane(createExamplesPanel());
examplesScrollPane.getHorizontalScrollBar().setUnitIncrement(20); examplesScrollPane.getHorizontalScrollBar().setUnitIncrement(20);
examplesScrollPane.getVerticalScrollBar().setUnitIncrement(20); examplesScrollPane.getVerticalScrollBar().setUnitIncrement(20);
examplesScrollPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
contentPane.add(examplesScrollPane, BorderLayout.CENTER); contentPane.add(examplesScrollPane, BorderLayout.CENTER);
JPanel bottomPanel = new JPanel(new BorderLayout(5, 5)); JPanel bottomPanel = new JPanel(new BorderLayout(5, 5));
bottomPanel.add(createDescriptionPanel(), BorderLayout.CENTER); bottomPanel.add(createDescriptionPanel(), BorderLayout.CENTER);
Expand All @@ -114,68 +115,36 @@ private Container createContentPane() {
} }


private JPanel createExamplesPanel() { private JPanel createExamplesPanel() {
JPanel examplesPanel = new JPanel(); JPanel panel = new JPanel(new GridLayout(0, 4, 5, 5));
examplesPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
GroupLayout layout = new GroupLayout(examplesPanel);
examplesPanel.setLayout(layout);
JPanel basicExamplesPanel = createBasicExamplesPanel();
JPanel realExamplesPanel = createRealExamplesPanel();
JPanel difficultExamplesPanel = createDifficultExamplesPanel();
layout.setHorizontalGroup(layout.createSequentialGroup()
.addComponent(basicExamplesPanel)
.addGap(10)
.addComponent(realExamplesPanel)
.addGap(10)
.addComponent(difficultExamplesPanel));
layout.setVerticalGroup(layout.createParallelGroup()
.addComponent(basicExamplesPanel)
.addComponent(realExamplesPanel)
.addComponent(difficultExamplesPanel));
return examplesPanel;
}


private JPanel createBasicExamplesPanel() { panel.add(createExampleButton(new NurseRosteringApp()));
JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
TitledBorder titledBorder = BorderFactory.createTitledBorder("Basic examples");
titledBorder.setTitleColor(TangoColorFactory.CHAMELEON_3);
panel.setBorder(BorderFactory.createCompoundBorder(titledBorder,
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
panel.add(createExampleButton(new NQueensApp()));
panel.add(createExampleButton(new CloudBalancingApp()));
panel.add(createExampleButton(new TspApp())); panel.add(createExampleButton(new TspApp()));
panel.add(createExampleButton(new DinnerPartyApp())); panel.add(createExampleButton(new TaskAssigningApp()));
panel.add(createExampleButton(new TennisApp())); panel.add(createExampleButton(new CloudBalancingApp()));
panel.add(createExampleButton(new MeetingSchedulingApp()));
return panel;
}


private JPanel createRealExamplesPanel() { panel.add(createExampleButton(new ConferenceSchedulingApp()));
JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
TitledBorder titledBorder = BorderFactory.createTitledBorder("Real examples");
titledBorder.setTitleColor(TangoColorFactory.BUTTER_3);
panel.setBorder(BorderFactory.createCompoundBorder(titledBorder,
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
panel.add(createExampleButton(new CurriculumCourseApp()));
panel.add(createExampleButton(new MachineReassignmentApp()));
panel.add(createExampleButton(new VehicleRoutingApp())); panel.add(createExampleButton(new VehicleRoutingApp()));
panel.add(createExampleButton(new ProjectJobSchedulingApp()));
panel.add(createExampleButton(new PatientAdmissionScheduleApp())); panel.add(createExampleButton(new PatientAdmissionScheduleApp()));
panel.add(createExampleButton(new TaskAssigningApp())); panel.add(createExampleButton(new MachineReassignmentApp()));
return panel;
} panel.add(createExampleButton(new CurriculumCourseApp()));
panel.add(createExampleButton(new RockTourApp()));
panel.add(createExampleButton(new ProjectJobSchedulingApp()));
panel.add(createExampleButton(new NQueensApp()));


private JPanel createDifficultExamplesPanel() {
JPanel panel = new JPanel(new GridLayout(0, 1, 5, 5));
TitledBorder titledBorder = BorderFactory.createTitledBorder("Difficult examples");
titledBorder.setTitleColor(TangoColorFactory.SCARLET_3);
panel.setBorder(BorderFactory.createCompoundBorder(titledBorder,
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
panel.add(createExampleButton(new ExaminationApp())); panel.add(createExampleButton(new ExaminationApp()));
panel.add(createExampleButton(new NurseRosteringApp())); panel.add(createExampleButton(new CoachShuttleGatheringApp()));
panel.add(createExampleButton(new TravelingTournamentApp()));
panel.add(createExampleButton(new CheapTimeApp())); panel.add(createExampleButton(new CheapTimeApp()));
panel.add(createExampleButton(new ScrabbleApp()));

panel.add(createExampleButton(new MeetingSchedulingApp()));
panel.add(createExampleButton(new TravelingTournamentApp()));
panel.add(createExampleButton(new InvestmentApp())); panel.add(createExampleButton(new InvestmentApp()));
panel.add(createExampleButton(new ConferenceSchedulingApp())); panel.add(createExampleButton(new DinnerPartyApp()));

panel.add(createExampleButton(new TennisApp()));

return panel; return panel;
} }


Expand Down
Expand Up @@ -24,9 +24,7 @@


public class CoachShuttleGatheringPanel extends SolutionPanel<CoachShuttleGatheringSolution> { public class CoachShuttleGatheringPanel extends SolutionPanel<CoachShuttleGatheringSolution> {


// TODO Create logo public static final String LOGO_PATH = "/org/optaplanner/examples/coachshuttlegathering/swingui/coachShuttleGatheringLogo.png";
public static final String LOGO_PATH = null;
// public static final String LOGO_PATH = "/org/optaplanner/examples/coachshuttlegathering/swingui/coachShuttleGatheringLogo.png";


private CoachShuttleGatheringWorldPanel coachShuttleGatheringWorldPanel; private CoachShuttleGatheringWorldPanel coachShuttleGatheringWorldPanel;


Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b4cb3df

Please sign in to comment.