[jboss-svn-commits] JBL Code SVN: r18285 - labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Feb 3 15:17:57 EST 2008


Author: ge0ffrey
Date: 2008-02-03 15:17:57 -0500 (Sun, 03 Feb 2008)
New Revision: 18285

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/ConstraintScoreMapDialog.java
Log:
replaced with tablemodel

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/ConstraintScoreMapDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/ConstraintScoreMapDialog.java	2008-02-03 19:59:06 UTC (rev 18284)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/ConstraintScoreMapDialog.java	2008-02-03 20:17:57 UTC (rev 18285)
@@ -1,13 +1,12 @@
 package org.drools.solver.examples.common.swingui;
 
-import java.awt.GridLayout;
+import java.awt.Dimension;
 import java.util.List;
 
-import javax.swing.BorderFactory;
 import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingConstants;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.AbstractTableModel;
 
 import org.drools.solver.examples.common.business.ScoreDetail;
 import org.drools.solver.examples.common.business.SolutionBusiness;
@@ -34,39 +33,76 @@
     }
 
     public void resetContentPanel() {
-        JPanel panel = new JPanel(new GridLayout(0, 4));
         List<ScoreDetail> scoreDetailList = solutionBusiness.getScoreDetailList();
-        JLabel ruleIdHeader = new JLabel("Rule id");
-        ruleIdHeader.setHorizontalAlignment(SwingConstants.CENTER);
-        panel.add(ruleIdHeader);
-        JLabel constraintTypeHeader = new JLabel("Constraint type");
-        constraintTypeHeader.setHorizontalAlignment(SwingConstants.CENTER);
-        panel.add(constraintTypeHeader);
-        JLabel occurenceSizeHeader = new JLabel("# occurences");
-        occurenceSizeHeader.setHorizontalAlignment(SwingConstants.CENTER);
-        panel.add(occurenceSizeHeader);
-        JLabel scoreTotalHeader = new JLabel("Score total");
-        scoreTotalHeader.setHorizontalAlignment(SwingConstants.CENTER);
-        panel.add(scoreTotalHeader);
-        for (ScoreDetail scoreDetail : scoreDetailList) {
-            JLabel ruleIdLabel = new JLabel(scoreDetail.getRuleId());
-            ruleIdLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
-            panel.add(ruleIdLabel);
-            JLabel constraintTypeLabel = new JLabel(scoreDetail.getConstraintType().toString());
-            constraintTypeLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
-            panel.add(constraintTypeLabel);
-            JLabel occurenceSizeLabel = new JLabel(WorkflowFrame.NUMBER_FORMAT.format(scoreDetail.getOccurenceSize()));
-            occurenceSizeLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-            occurenceSizeLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
-            panel.add(occurenceSizeLabel);
-            JLabel scoreTotalLabel = new JLabel(WorkflowFrame.NUMBER_FORMAT.format(scoreDetail.getScoreTotal()));
-            scoreTotalLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-            panel.add(scoreTotalLabel);
-        }
-        panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-        setContentPane(panel);
+        JTable table = new JTable(new ScoreDetailTableModel(scoreDetailList));
+        JScrollPane scrollpane = new JScrollPane(table);
+        scrollpane.setPreferredSize(new Dimension(700, 300));
+        setContentPane(scrollpane);
         pack();
         setLocationRelativeTo(getParent());
     }
 
+    public static class ScoreDetailTableModel extends AbstractTableModel {
+
+        private List<ScoreDetail> scoreDetailList;
+
+        public ScoreDetailTableModel(List<ScoreDetail> scoreDetailList) {
+            this.scoreDetailList = scoreDetailList;
+        }
+
+        public int getRowCount() {
+            return scoreDetailList.size();
+        }
+
+        public int getColumnCount() {
+            return 4;
+        }
+
+        public String getColumnName(int columnIndex) {
+            switch (columnIndex) {
+                case 0:
+                    return "Rule id";
+                case 1:
+                    return "Constraint type";
+                case 2:
+                    return "# occurences";
+                case 3:
+                    return "Score total";
+                default:
+                    throw new IllegalStateException("The columnIndex (" + columnIndex + ") is invalid.");
+            }
+        }
+
+        public Class<?> getColumnClass(int columnIndex) {
+            switch (columnIndex) {
+                case 0:
+                    return String.class;
+                case 1:
+                    return Enum.class;
+                case 2:
+                    return Integer.class;
+                case 3:
+                    return Double.class;
+                default:
+                    throw new IllegalStateException("The columnIndex (" + columnIndex + ") is invalid.");
+            }
+        }
+
+        public Object getValueAt(int rowIndex, int columnIndex) {
+            ScoreDetail scoreDetail = scoreDetailList.get(rowIndex);
+            switch (columnIndex) {
+                case 0:
+                    return scoreDetail.getRuleId();
+                case 1:
+                    return scoreDetail.getConstraintType();
+                case 2:
+                    return scoreDetail.getOccurenceSize();
+                case 3:
+                    return scoreDetail.getScoreTotal();
+                default:
+                    throw new IllegalStateException("The columnIndex (" + columnIndex + ") is invalid.");
+            }
+        }
+    }
+
 }




More information about the jboss-svn-commits mailing list