FlexibleData.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package ui.view;
  2. import javax.swing.JPanel;
  3. import javax.swing.JProgressBar;
  4. import javax.swing.JLabel;
  5. import java.awt.Font;
  6. import java.awt.Dimension;
  7. import java.awt.Color;
  8. import javax.swing.JSplitPane;
  9. import javax.swing.border.EmptyBorder;
  10. public class FlexibleData extends JPanel {
  11. private JLabel name_lbl;
  12. private JProgressBar prodVal;
  13. private JProgressBar consVal;
  14. private JLabel lblProdConsVal;
  15. private JPanel subnetColorPanel;
  16. public FlexibleData(String name, float prod, float cons, float maxProd, float maxCons) {
  17. setPreferredSize(new Dimension(563, 100));
  18. setMinimumSize(new Dimension(550, 100));
  19. setLayout(null);
  20. name_lbl = new JLabel();
  21. name_lbl.setFont(new Font("Tahoma", Font.PLAIN, 11));
  22. name_lbl.setBounds(10, 11, 85, 27);
  23. setlblName(name);
  24. add(name_lbl);
  25. JLabel lblFlProd = new JLabel("Flex. Prod.:");
  26. lblFlProd.setForeground(new Color(0, 128, 0));
  27. lblFlProd.setBounds(31, 46, 64, 27);
  28. add(lblFlProd);
  29. JLabel lblFlexCons = new JLabel("Flex. Cons.:\r\n");
  30. lblFlexCons.setForeground(new Color(255, 0, 0));
  31. lblFlexCons.setBounds(188, 46, 64, 27);
  32. add(lblFlexCons);
  33. JLabel lblProdCons = new JLabel("Prod./Cons.:");
  34. lblProdCons.setForeground(new Color(218, 165, 32));
  35. lblProdCons.setBounds(348, 46, 85, 27);
  36. add(lblProdCons);
  37. prodVal = new JProgressBar();
  38. setProd(maxProd, prod);
  39. prodVal.setBounds(94, 46, 85, 24);
  40. prodVal.setBorder(new EmptyBorder(0, 0, 0, 0));
  41. prodVal.setStringPainted(true);
  42. prodVal.setForeground(new Color(0, 128, 0));
  43. add(prodVal);
  44. consVal = new JProgressBar();
  45. setCons(maxCons, cons);
  46. consVal.setBounds(253, 46, 85, 24);
  47. consVal.setBorder(new EmptyBorder(0, 0, 0, 0));
  48. consVal.setStringPainted(true);
  49. consVal.setForeground(Color.RED);
  50. add(consVal);
  51. lblProdConsVal = new JLabel();
  52. setProdConsVal(prod, cons);
  53. lblProdConsVal.setBounds(415, 46, 103, 24);
  54. add(lblProdConsVal);
  55. subnetColorPanel = new JPanel();
  56. subnetColorPanel.setBackground(new Color(255, 255, 255));
  57. subnetColorPanel.setForeground(new Color(0, 0, 0));
  58. subnetColorPanel.setBounds(94, 11, 31, 27);
  59. add(subnetColorPanel);
  60. }
  61. public void setProd(float max, float current){
  62. int val = prodVal.getMaximum();
  63. if(max != 0){
  64. val = Math.round((current/max)*prodVal.getMaximum());
  65. }
  66. prodVal.setValue(val);
  67. prodVal.setString(Float.toString(current));
  68. }
  69. public void setCons(float max, float current){
  70. int val = prodVal.getMaximum();
  71. if(max != 0){
  72. val = Math.round((current/max)*prodVal.getMaximum());
  73. }
  74. consVal.setValue(val);
  75. consVal.setString(Float.toString(current));
  76. }
  77. public void setProdConsVal(float prod, float cons){
  78. if(cons != 0){
  79. lblProdConsVal.setText(Float.toString((prod/cons)*(-1)));
  80. }else if(prod == 0){
  81. lblProdConsVal.setText(Float.toString(0));
  82. }
  83. else{
  84. lblProdConsVal.setText(Character.toString('\u221e'));
  85. }
  86. }
  87. public void setlblName(String name){
  88. name_lbl.setText(name);
  89. }
  90. public JPanel getColorPanel(){
  91. return subnetColorPanel;
  92. }
  93. public JLabel getNamelbl(){
  94. return name_lbl;
  95. }
  96. }