[jboss-svn-commits] JBL Code SVN: r33133 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples: common/app and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 27 15:34:09 EDT 2010
Author: ge0ffrey
Date: 2010-05-27 15:34:09 -0400 (Thu, 27 May 2010)
New Revision: 33133
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/app/ExamplesApp.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/app/CommonApp.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/swingui/WorkflowFrame.java
Log:
ExamplesApp should allow to open multiple examples without having to restart
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/app/ExamplesApp.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/app/ExamplesApp.java 2010-05-27 19:23:29 UTC (rev 33132)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/app/ExamplesApp.java 2010-05-27 19:34:09 UTC (rev 33133)
@@ -44,32 +44,32 @@
contentPane.add(new JLabel("Which example do you want to see?"));
contentPane.add(new JButton(new AbstractAction("N queens"){
public void actionPerformed(ActionEvent e) {
- new NQueensApp().init();
+ new NQueensApp().init(false);
}
}));
contentPane.add(new JButton(new AbstractAction("Miss Manners 2009"){
public void actionPerformed(ActionEvent e) {
- new Manners2009App().init();
+ new Manners2009App().init(false);
}
}));
contentPane.add(new JButton(new AbstractAction("Traveling tournament"){
public void actionPerformed(ActionEvent e) {
- new SmartTravelingTournamentApp().init();
+ new SmartTravelingTournamentApp().init(false);
}
}));
contentPane.add(new JButton(new AbstractAction("ITC2007 Curriculum course timetabling"){
public void actionPerformed(ActionEvent e) {
- new CurriculumCourseApp().init();
+ new CurriculumCourseApp().init(false);
}
}));
contentPane.add(new JButton(new AbstractAction("ITC2007 Examination timetabling"){
public void actionPerformed(ActionEvent e) {
- new ExaminationApp().init();
+ new ExaminationApp().init(false);
}
}));
contentPane.add(new JButton(new AbstractAction("Patient admission schedule"){
public void actionPerformed(ActionEvent e) {
- new PatientAdmissionScheduleApp().init();
+ new PatientAdmissionScheduleApp().init(false);
}
}));
return contentPane;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/app/CommonApp.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/app/CommonApp.java 2010-05-27 19:23:29 UTC (rev 33132)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/app/CommonApp.java 2010-05-27 19:34:09 UTC (rev 33133)
@@ -1,5 +1,7 @@
package org.drools.planner.examples.common.app;
+import javax.swing.JFrame;
+
import org.drools.planner.core.Solver;
import org.drools.planner.examples.common.business.SolutionBusiness;
import org.drools.planner.examples.common.persistence.AbstractSolutionExporter;
@@ -22,6 +24,11 @@
}
public void init() {
+ init(true);
+ }
+
+ public void init(boolean exitOnClose) {
+ workflowFrame.setDefaultCloseOperation(exitOnClose ? JFrame.EXIT_ON_CLOSE : JFrame.DISPOSE_ON_CLOSE);
workflowFrame.init();
workflowFrame.setVisible(true);
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/swingui/WorkflowFrame.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/swingui/WorkflowFrame.java 2010-05-27 19:23:29 UTC (rev 33132)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/common/swingui/WorkflowFrame.java 2010-05-27 19:34:09 UTC (rev 33133)
@@ -4,6 +4,8 @@
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
import java.io.File;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -61,13 +63,12 @@
this.solutionPanel = solutionPanel;
solutionPanel.setSolutionBusiness(solutionBusiness);
solutionPanel.setWorkflowFrame(this);
- registerSolverEventListener();
+ registerListeners();
constraintScoreMapDialog = new ConstraintScoreMapDialog(this);
constraintScoreMapDialog.setSolutionBusiness(solutionBusiness);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
- private void registerSolverEventListener() {
+ private void registerListeners() {
solutionBusiness.addSolverEventLister(new SolverEventListener() {
public void bestSolutionChanged(BestSolutionChangedEvent event) {
final Solution bestSolution = event.getNewBestSolution();
@@ -78,6 +79,12 @@
});
}
});
+ addWindowListener(new WindowAdapter() {
+ public void windowClosing(WindowEvent e) {
+ // This async, so it doesn't stop the solving immediately
+ solutionBusiness.terminateSolvingEarly();
+ }
+ });
}
public void init() {
More information about the jboss-svn-commits
mailing list