1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.pkg;
21
22 import java.awt.FlowLayout;
23 import java.awt.Font;
24 import java.awt.GridBagLayout;
25
26 import javax.swing.JLabel;
27 import javax.swing.JPanel;
28
29 import org.xnap.gui.component.MultiLineLabel;
30 import org.xnap.gui.util.GUIHelper;
31 import org.xnap.gui.util.GridBagHelper;
32 import org.xnap.pkg.PackageInfo;
33
34 public class PackageInfoPanel extends JPanel {
35
36
37
38
39
40 private PackageInfo info;
41 private MultiLineLabel jlDescription;
42 private JLabel jlName;
43 private JPanel jpButtons;
44 private JLabel longDescriptionLabel;
45
46
47
48 public PackageInfoPanel()
49 {
50 setLayout(new GridBagLayout());
51
52 jlName = GridBagHelper.addLabel(this, "", true);
53 jlName.setFont(jlName.getFont().deriveFont(Font.BOLD));
54
55 jlDescription = new MultiLineLabel();
56 GridBagHelper.add(this, jlDescription);
57
58 longDescriptionLabel = new JLabel();
59 GridBagHelper.add(this, longDescriptionLabel);
60
61 GridBagHelper.addVerticalSpacer(this);
62
63 jpButtons = new JPanel(new FlowLayout(FlowLayout.LEFT));
64 GridBagHelper.add(this, jpButtons);
65 }
66
67
68
69 public JPanel getButtonPanel()
70 {
71 return jpButtons;
72 }
73
74 /***
75 * Updates the package info panel.
76 */
77 public void setInfo(PackageInfo info)
78 {
79 this.info = info;
80
81 jlName.setText(info.getName() + " " + info.getVersion());
82 jlDescription.setText(info.getDescription());
83 longDescriptionLabel.setText(GUIHelper.tt(info.getLongDescription()));
84 }
85
86
87
88 }