1
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
29
30 private JTable effectTable = new JTable();
31
32
33
34 /***
35 * Creates a new AnalyzerPanel object.
36 */
37 public EffectPanel() {
38 super();
39 jbInit();
40 reload();
41 }
42
43
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);
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 }