JAL-1553 added applet support for the select-column-by-annotation-row feature
[jalview.git] / src / jalview / appletgui / TitledPanel.java
diff --git a/src/jalview/appletgui/TitledPanel.java b/src/jalview/appletgui/TitledPanel.java
new file mode 100644 (file)
index 0000000..1ae36f4
--- /dev/null
@@ -0,0 +1,75 @@
+package jalview.appletgui;
+
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.Insets;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+public class TitledPanel extends Panel
+{
+
+  private String title;
+
+  private Insets insets = new Insets(10, 10, 10, 10);
+
+  public TitledPanel()
+  {
+    this("");
+  }
+
+  public TitledPanel(String title)
+  {
+    this.setTitle(title);
+  }
+
+  public Insets getInsets()
+  {
+    return insets;
+  }
+
+  public void paint(Graphics g)
+  {
+    super.paint(g);
+    g.setColor(getForeground());
+    g.drawRect(5, 5, getWidth() - 10, getHeight() - 10);
+    int width = g.getFontMetrics().stringWidth(getTitle());
+    g.setColor(getBackground());
+    g.fillRect(10, 0, width, 10);
+    g.setColor(getForeground());
+    g.drawString(getTitle(), 10, 10);
+  }
+
+  public static void main(String[] args)
+  {
+    Frame f = new Frame("TitledPanel Tester");
+
+    TitledPanel p = new TitledPanel("Title of Panel");
+    p.add(new Label("Label 1"));
+    p.add(new Label("Label 2"));
+    p.add(new Label("Label 3"));
+    f.add(p);
+
+    f.addWindowListener(new WindowAdapter()
+    {
+      public void windowClosing(WindowEvent e)
+      {
+        System.exit(0);
+      }
+    });
+    f.setBounds(300, 300, 300, 300);
+    f.setVisible(true);
+  }
+
+  public String getTitle()
+  {
+    return title;
+  }
+
+  public void setTitle(String title)
+  {
+    this.title = title;
+  }
+}
\ No newline at end of file