1 package net.logAnalyzer.utils.gui.quickbar;
2
3 import java.awt.Color;
4 import java.awt.Dimension;
5 import java.awt.FlowLayout;
6 import java.awt.GradientPaint;
7 import java.awt.Graphics;
8 import java.awt.Graphics2D;
9
10 import javax.swing.JPanel;
11
12 import net.logAnalyzer.utils.gui.GraphicsAttributes;
13
14 public class QuickBar extends JPanel {
15 private static final long serialVersionUID = 1L;
16
17 /***
18 * Constructs a new QuickBar.
19 *
20 * @param width
21 */
22 public QuickBar(int width) {
23 super();
24 setLayout(new FlowLayout());
25 setPreferredSize(new Dimension(width, 200));
26 }
27
28 /***
29 * Paint the background of the component.
30 */
31 public void paintComponent(Graphics g) {
32 Graphics2D gfx = (Graphics2D) g;
33 gfx.setPaint(new GradientPaint(0, 0, GraphicsAttributes.QUICKBAR_GRADIENTSTART_COLOR,
34 getWidth(), getHeight(), GraphicsAttributes.QUICKBAR_GRADIENTEND_COLOR));
35 gfx.fillRect(0, 0, getWidth(), getHeight());
36 }
37
38 /***
39 * Add a new {@link QuickPanel}.
40 *
41 * @param panel
42 * New {@link QuickPanel}.
43 */
44 public void addPanel(QuickPanel panel) {
45 panel.setPreferredSize(new Dimension((int) (getPreferredSize()
46 .getWidth() - 20), (int) panel.getPreferredSize().getHeight()));
47 addImpl(panel, null, -1);
48 this.updateUI();
49 }
50
51 /***
52 * Add a new JPanel.
53 *
54 * @param panel
55 *
56 */
57 public void addPanel(JPanel panel) {
58 panel.setPreferredSize(new Dimension((int) (getPreferredSize()
59 .getWidth() - 20), (int) panel.getPreferredSize().getHeight()));
60 addImpl(panel, null, -1);
61 this.updateUI();
62 }
63 /***
64 * remove a new JPanel.
65 *
66 * @param panel
67 *
68 */
69 public void removePanel(JPanel panel) {
70 remove(panel);
71 this.updateUI();
72 }
73 }