JAL-1807 update
[jalviewjs.git] / unused / appletgui / TitledPanel.java
1 package jalview.appletgui;
2
3 import javax.swing.JFrame;
4 import java.awt.Graphics;
5 import java.awt.Insets;
6 import javax.swing.JLabel;
7 import javax.swing.JPanel;
8 import java.awt.event.WindowAdapter;
9 import java.awt.event.WindowEvent;
10
11 public class TitledPanel extends JPanel
12 {
13
14   private String title;
15
16   private Insets insets = new Insets(10, 10, 10, 10);
17
18   public TitledPanel()
19   {
20     this("");
21   }
22
23   public TitledPanel(String title)
24   {
25     this.setTitle(title);
26   }
27
28   public Insets getInsets()
29   {
30     return insets;
31   }
32
33   public void paint(Graphics g)
34   {
35     super.paint(g);
36     g.setColor(getForeground());
37     g.drawRect(5, 5, getWidth() - 10, getHeight() - 10);
38     int width = g.getFontMetrics().stringWidth(getTitle());
39     g.setColor(getBackground());
40     g.fillRect(10, 0, width, 10);
41     g.setColor(getForeground());
42     g.drawString(getTitle(), 10, 10);
43   }
44
45   public static void main(String[] args)
46   {
47     JFrame f = new JFrame("TitledPanel Tester");
48
49     TitledPanel p = new TitledPanel("Title of Panel");
50     p.add(new JLabel("Label 1"));
51     p.add(new JLabel("Label 2"));
52     p.add(new JLabel("Label 3"));
53     f.add(p);
54
55     f.addWindowListener(new WindowAdapter()
56     {
57       public void windowClosing(WindowEvent e)
58       {
59         System.exit(0);
60       }
61     });
62     f.setBounds(300, 300, 300, 300);
63     f.setVisible(true);
64   }
65
66   public String getTitle()
67   {
68     return title;
69   }
70
71   public void setTitle(String title)
72   {
73     this.title = title;
74   }
75 }