[seam-commits] Seam SVN: r10357 - trunk/examples/itext/src/org/jboss/seam/example/pdf.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Wed Apr 8 17:50:45 EDT 2009


Author: norman.richards at jboss.com
Date: 2009-04-08 17:50:45 -0400 (Wed, 08 Apr 2009)
New Revision: 10357

Added:
   trunk/examples/itext/src/org/jboss/seam/example/pdf/JFreeData.java
Modified:
   trunk/examples/itext/src/org/jboss/seam/example/pdf/DynamicChart.java
   trunk/examples/itext/src/org/jboss/seam/example/pdf/SwingComponent.java
Log:
JBSEAM-3956

Modified: trunk/examples/itext/src/org/jboss/seam/example/pdf/DynamicChart.java
===================================================================
--- trunk/examples/itext/src/org/jboss/seam/example/pdf/DynamicChart.java	2009-04-08 19:48:18 UTC (rev 10356)
+++ trunk/examples/itext/src/org/jboss/seam/example/pdf/DynamicChart.java	2009-04-08 21:50:45 UTC (rev 10357)
@@ -307,12 +307,11 @@
     }
     
     public void removeSeries(String id) {
-        System.out.println("REMOVE: " + id);
+        // System.out.println("REMOVE: " + id);
     }
     
     public void newSeries() {
         String newId = findUniqueSeriesId();
-        System.out.println("** series " + newId);
         Data set = new Data();
         set.setId(newId);
         

Added: trunk/examples/itext/src/org/jboss/seam/example/pdf/JFreeData.java
===================================================================
--- trunk/examples/itext/src/org/jboss/seam/example/pdf/JFreeData.java	                        (rev 0)
+++ trunk/examples/itext/src/org/jboss/seam/example/pdf/JFreeData.java	2009-04-08 21:50:45 UTC (rev 10357)
@@ -0,0 +1,151 @@
+package org.jboss.seam.example.pdf;
+
+import org.jboss.seam.annotations.*;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GradientPaint;
+import java.awt.Paint;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.JPanel;
+
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartPanel;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.LegendItem;
+import org.jfree.chart.LegendItemCollection;
+import org.jfree.chart.axis.NumberAxis;
+import org.jfree.chart.plot.CategoryPlot;
+import org.jfree.chart.plot.PlotOrientation;
+import org.jfree.chart.renderer.category.BarRenderer;
+import org.jfree.chart.title.LegendTitle;
+import org.jfree.chart.title.TextTitle;
+import org.jfree.data.category.CategoryDataset;
+import org.jfree.data.category.DefaultCategoryDataset;
+import org.jfree.ui.ApplicationFrame;
+import org.jfree.ui.HorizontalAlignment;
+import org.jfree.ui.RectangleEdge;
+import org.jfree.ui.RectangleInsets;
+import org.jfree.ui.RefineryUtilities;
+
+ at Name("jfree")
+public class JFreeData {
+
+    public JFreeChart getChart() {
+        return createChart(getDataset());
+    }
+
+    public CategoryDataset getDataset() {
+        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+
+        dataset.addValue(81.0, "Against all torture", "Italy");
+        dataset.addValue(72.0, "Against all torture", "Great Britain");
+        dataset.addValue(58.0, "Against all torture", "USA");
+        dataset.addValue(48.0, "Against all torture", "Israel");
+        dataset.addValue(43.0, "Against all torture", "Russia");
+        dataset.addValue(23.0, "Against all torture", "India");
+        dataset.addValue(59.0, "Against all torture", "Average (*)");
+
+
+	dataset.addValue(5.0, "-", "Italy");
+	dataset.addValue(4.0, "-", "Great Britain");
+	dataset.addValue(6.0, "-", "USA");
+	dataset.addValue(9.0, "-", "Israel");
+	dataset.addValue(20.0, "-", "Russia");
+	dataset.addValue(45.0, "-", "India");
+	dataset.addValue(12.0, "-", "Average (*)");
+	
+	dataset.addValue(14.0, "Some degree permissible", "Italy");
+	dataset.addValue(24.0, "Some degree permissible", "Great Britain");
+	dataset.addValue(36.0, "Some degree permissible", "USA");
+	dataset.addValue(43.0, "Some degree permissible", "Israel");
+	dataset.addValue(37.0, "Some degree permissible", "Russia");
+	dataset.addValue(32.0, "Some degree permissible", "India");
+	dataset.addValue(29.0, "Some degree permissible", "Average (*)");
+        
+        return dataset;
+    }
+    
+    /**
+     * Creates a sample chart.
+     * 
+     * @param dataset  the dataset.
+     * 
+     * @return The chart.
+     */
+    private JFreeChart createChart(CategoryDataset dataset) {
+        
+        // create the chart...
+        JFreeChart chart = ChartFactory.createStackedBarChart(
+            "Public Opinion : Torture of Prisoners", 
+            "Country",                    // domain axis label
+            "%",                 // range axis label
+            dataset,                      // data
+            PlotOrientation.HORIZONTAL,   // orientation
+            false,                        // include legend
+            true,                         // tooltips?
+            false                         // URLs?
+        );
+
+        // set the background color for the chart...
+        chart.setBackgroundPaint(Color.white);
+        chart.getTitle().setMargin(2.0, 0.0, 0.0, 0.0);
+
+        TextTitle tt = new TextTitle(
+                "Source: http://news.bbc.co.uk/1/hi/world/6063386.stm",
+                new Font("Dialog", Font.PLAIN, 11));
+        tt.setPosition(RectangleEdge.BOTTOM);
+        tt.setHorizontalAlignment(HorizontalAlignment.RIGHT);
+        tt.setMargin(0.0, 0.0, 4.0, 4.0);
+        chart.addSubtitle(tt);
+
+        TextTitle t = new TextTitle(
+                "(*) Across 27,000 respondents in 25 countries",
+                new Font("Dialog", Font.PLAIN, 11));
+        t.setPosition(RectangleEdge.BOTTOM);
+        t.setHorizontalAlignment(HorizontalAlignment.RIGHT);
+        t.setMargin(4.0, 0.0, 2.0, 4.0);
+        chart.addSubtitle(t);
+
+        // get a reference to the plot for further customisation...
+        CategoryPlot plot = (CategoryPlot) chart.getPlot();
+        LegendItemCollection items = new LegendItemCollection();
+        items.add(new LegendItem("Against all torture", null, null, null, 
+                new Rectangle2D.Double(-6.0, -3.0, 12.0, 6.0), Color.green));
+        items.add(new LegendItem("Some degree permissible", null, null, null, 
+                new Rectangle2D.Double(-6.0, -3.0, 12.0, 6.0), Color.red));
+        plot.setFixedLegendItems(items);
+        plot.setInsets(new RectangleInsets(5, 5, 5, 20));
+        LegendTitle legend = new LegendTitle(plot);
+        legend.setPosition(RectangleEdge.BOTTOM);
+        chart.addSubtitle(legend);
+        
+        plot.setBackgroundPaint(Color.lightGray);
+        plot.setDomainGridlinePaint(Color.white);
+        plot.setDomainGridlinesVisible(true);
+        plot.setRangeGridlinePaint(Color.white);
+        
+        // set the range axis to display integers only...
+        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
+        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
+        rangeAxis.setUpperMargin(0.0);
+        
+        // disable bar outlines...
+        BarRenderer renderer = (BarRenderer) plot.getRenderer();
+        renderer.setDrawBarOutline(false);
+        
+        // set up gradient paints for series...
+        GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0));
+        Paint gp1 = new Color(0, 0, 0, 0);
+        GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0));
+        //renderer.setSeriesPaint(0, gp0);
+	renderer.setSeriesPaint(0, Color.green);
+        renderer.setSeriesPaint(1, gp1);
+        //renderer.setSeriesPaint(2, gp2);
+	renderer.setSeriesPaint(2, Color.red);
+        
+        return chart;        
+    }
+}
\ No newline at end of file

Modified: trunk/examples/itext/src/org/jboss/seam/example/pdf/SwingComponent.java
===================================================================
--- trunk/examples/itext/src/org/jboss/seam/example/pdf/SwingComponent.java	2009-04-08 19:48:18 UTC (rev 10356)
+++ trunk/examples/itext/src/org/jboss/seam/example/pdf/SwingComponent.java	2009-04-08 21:50:45 UTC (rev 10357)
@@ -16,8 +16,6 @@
         } catch(Exception e) {
             System.out.println("Error setting Java LAF: " + e);
         }
-        
-        //System.out.println("** " + UIManager.getLookAndFeel());
     }
     
     public Component getLabel1() {




More information about the seam-commits mailing list