Advertisement
Guest User

Untitled

a guest
May 19th, 2021
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. public class StatForm extends Form {
  2. Form current ;
  3. Resources res;
  4.  
  5. public StatForm(Form previous) {
  6. current=this;
  7.  
  8. setTitle("Stats");
  9.  
  10. setLayout(BoxLayout.y());
  11.  
  12. //HERE IS THE RETURN BUTTON I DOUBT ITS PLACE
  13. Form f1=new Form("hi");
  14. Container f2=new Container();
  15.  
  16.  
  17. Button ret=new Button("Return");
  18.  
  19. ret.addPointerPressedListener(l->{
  20.  
  21. new ListTheatreForm(res).show();
  22.  
  23. });
  24. f1.addAll(ret);
  25. add(f1);
  26. f1.show();
  27.  
  28. //ENDS HERE
  29. this.add(createPieChartForm());
  30.  
  31.  
  32.  
  33. }
  34. private DefaultRenderer buildCategoryRenderer(int[] colors) {
  35.  
  36. DefaultRenderer renderer = new DefaultRenderer();
  37. renderer.setLabelsTextSize(30);
  38. renderer.setLegendTextSize(30);
  39. renderer.setMargins(new int[]{20, 30, 15, 0});
  40. for (int color : colors) {
  41. SimpleSeriesRenderer r = new SimpleSeriesRenderer();
  42. r.setColor(color);
  43. renderer.addSeriesRenderer(r);
  44. }
  45. return renderer;
  46. }
  47.  
  48. /**
  49. * Builds a category series using the provided values.
  50. *
  51. * @param titles the series titles
  52. * @param values the values
  53. * @return the category series
  54. */
  55. protected CategorySeries buildCategoryDataset(String title, HashMap<String, Integer> values) {
  56. CategorySeries series = new CategorySeries(title);
  57. series.add("Historical", values.get("historical"));
  58. series.add("Reality", values.get("reality"));
  59. series.add("Comedy", values.get("comedy"));
  60.  
  61.  
  62. return series;
  63. }
  64.  
  65. public Form createPieChartForm() {
  66.  
  67. int historical = 0;
  68. int comedy = 0;
  69. int reality = 0;
  70. ArrayList<Theatre> th = ServiceTheatre.getInstance().AffichageTheatre();
  71. for (int i=0;i<th.size();i++)
  72. {
  73. switch (th.get(i).getGenre().toLowerCase()) {
  74. case "historical":
  75. historical++;
  76. break;
  77. case "comedy":
  78. comedy++;
  79. break;
  80. default:
  81. reality++;
  82. break;
  83. }
  84. }
  85. HashMap<String, Integer> values = new HashMap<>();
  86. values.put("historical", historical);
  87. values.put("comedy", comedy);
  88. values.put("reality", reality);
  89.  
  90. // Set up the renderer
  91. int[] colors = new int[]{ColorUtil.GREEN, ColorUtil.MAGENTA, ColorUtil.LTGRAY};
  92. DefaultRenderer renderer = buildCategoryRenderer(colors);
  93. renderer.setZoomButtonsVisible(true);
  94. renderer.setZoomEnabled(true);
  95. renderer.setChartTitleTextSize(30);
  96. renderer.setDisplayValues(true);
  97. renderer.setShowLabels(true);
  98. renderer.setLabelsColor(ColorUtil.BLACK);
  99. SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);
  100. r.setGradientEnabled(true);
  101. r.setGradientStart(0, ColorUtil.BLUE);
  102. r.setGradientStop(0, ColorUtil.GREEN);
  103. r.setHighlighted(true);
  104.  
  105. // Create the chart ... pass the values and renderer to the chart object.
  106. PieChart chart = new PieChart(buildCategoryDataset("Project budget", values), renderer);
  107.  
  108. // Wrap the chart in a Component so we can add it to a form
  109. ChartComponent c = new ChartComponent(chart);
  110.  
  111. // Create a form and show it.
  112. Form f = new Form("by Genre");
  113.  
  114.  
  115. f.add( c);
  116.  
  117. f.show();
  118.  
  119. return f;
  120.  
  121. }
  122. }
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement