View Javadoc

1   // %2762386722:hoplugins.trainingExperience.ui%
2   package hoplugins.trainingExperience.ui;
3   
4   import hoplugins.Commons;
5   
6   import hoplugins.commons.utils.PluginProperty;
7   
8   import hoplugins.trainingExperience.dao.EffectDAO;
9   import hoplugins.trainingExperience.ui.model.EffectTableModel;
10  import hoplugins.trainingExperience.ui.renderer.SkillupsTableCellRenderer;
11  
12  import java.awt.BorderLayout;
13  
14  import java.util.List;
15  
16  import javax.swing.JLabel;
17  import javax.swing.JPanel;
18  import javax.swing.JScrollPane;
19  import javax.swing.JTable;
20  
21  
22  /***
23   * Shows a table with training effet.
24   *
25   * @author NetHyperon
26   */
27  public class EffectPanel extends JPanel {
28      //~ Instance fields ----------------------------------------------------------------------------
29  
30      private JTable effectTable = new JTable();
31  
32      //~ Constructors -------------------------------------------------------------------------------
33  
34      /***
35       * Creates a new AnalyzerPanel object.
36       */
37      public EffectPanel() {
38          super();
39          jbInit();
40          reload();
41      }
42  
43      //~ Methods ------------------------------------------------------------------------------------
44  
45      /***
46       * Reload data and redraw panel.
47       */
48      public void reload() {
49          EffectDAO.reload();
50          setEffectModel(EffectDAO.getTrainEffect());
51  
52          updateUI();
53      }
54  
55      /***
56       * Sets the model for effect table.
57       *
58       * @param values List of values
59       */
60      private void setEffectModel(List values) {
61          effectTable.setModel(new EffectTableModel(values));
62          effectTable.getColumnModel().getColumn(0).setPreferredWidth(50);
63          effectTable.getColumnModel().getColumn(1).setPreferredWidth(50);
64          effectTable.getColumnModel().getColumn(4).setPreferredWidth(100);
65          effectTable.getColumnModel().getColumn(6).setPreferredWidth(100);
66          effectTable.getColumnModel().getColumn(7).setPreferredWidth(25);
67          effectTable.getColumnModel().getColumn(7).setCellRenderer(new SkillupsTableCellRenderer());
68      }
69  
70      /***
71       * Initialize panel.
72       */
73      private void jbInit() {
74          setOpaque(false);
75          setLayout(new BorderLayout());
76  
77          JPanel p = Commons.getModel().getGUI().createImagePanel();
78  
79          p.setOpaque(false);
80          p.setLayout(new BorderLayout());
81  
82          JLabel label = new JLabel(PluginProperty.getString("TAB_EFFECT"), JLabel.CENTER); //$NON-NLS-1$
83  
84          label.setOpaque(false);
85          p.add(label, BorderLayout.NORTH);
86  
87          JPanel mainpanel = Commons.getModel().getGUI().createImagePanel();
88  
89          mainpanel.setLayout(new BorderLayout());
90  
91          JScrollPane effectPane = new JScrollPane(effectTable);
92  
93          effectPane.setOpaque(false);
94          mainpanel.add(effectPane, BorderLayout.CENTER);
95  
96          p.add(mainpanel, BorderLayout.CENTER);
97          add(p, BorderLayout.CENTER);
98      }
99  }