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