FlexiblePane.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package ui.view;
  2. import javax.swing.JPanel;
  3. import javax.swing.JScrollPane;
  4. import classes.HolonObject;
  5. import classes.SubNet;
  6. import ui.controller.Control;
  7. import java.awt.Color;
  8. import java.awt.Dimension;
  9. import javax.swing.BoxLayout;
  10. public class FlexiblePane extends JScrollPane {
  11. private JPanel flexPanel;
  12. private Control controller;
  13. public FlexiblePane(Control controller) {
  14. this.controller = controller;
  15. flexPanel = new JPanel();
  16. flexPanel.setLayout(new BoxLayout(flexPanel, BoxLayout.Y_AXIS));
  17. setViewportView(flexPanel);
  18. }
  19. public void recalculate(){
  20. flexPanel.removeAll();
  21. flexPanel.add(new FlexibleData("Main Grid", 0,0));
  22. float gridProd = 0;
  23. float gridCons = 0;
  24. int counter = 1;
  25. for(SubNet sn: controller.getSimManager().getSubNets()){
  26. float subProd = 0;
  27. float subCons = 0;
  28. for(HolonObject hl: sn.getObjects()){
  29. subProd += hl.getFlexProd();
  30. subCons += hl.getFlexCons();
  31. flexPanel.add(new FlexibleData(hl.getName()+" "+hl.getId(),
  32. hl.getFlexProd(), hl.getFlexCons()));
  33. }
  34. gridProd += subProd;
  35. gridCons += subCons;
  36. flexPanel.add(new FlexibleData("Subnet "+ counter, subProd, subCons));
  37. counter++;
  38. }
  39. if (flexPanel.getComponent(0) instanceof FlexibleData){
  40. ((FlexibleData)flexPanel.getComponent(0)).setProd(gridProd);
  41. ((FlexibleData)flexPanel.getComponent(0)).setCons(gridCons);
  42. ((FlexibleData)flexPanel.getComponent(0)).setProdConsVal(gridProd, gridCons);
  43. }
  44. }
  45. }