1 package jalview.appletgui;
\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
11 public class TitledPanel extends JPanel
\r
14 private String title;
\r
16 private Insets insets = new Insets(10, 10, 10, 10);
\r
18 public TitledPanel()
\r
23 public TitledPanel(String title)
\r
25 this.setTitle(title);
\r
28 public Insets getInsets()
\r
33 public void paint(Graphics 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
45 public static void main(String[] args)
\r
47 JFrame f = new JFrame("TitledPanel Tester");
\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
55 f.addWindowListener(new WindowAdapter()
\r
57 public void windowClosing(WindowEvent e)
\r
62 f.setBounds(300, 300, 300, 300);
\r
66 public String getTitle()
\r
71 public void setTitle(String title)
\r