aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendFrame.java
blob: d27a85ab47df27ca141ad4ff692ff3bb0ae8f11f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/**
 * 
 */
package uk.org.ury.frontend;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * A frame that hosts a FrontendPanel, used for serving frontend 
 * panels in a window (application mode).
 * 
 * @author Matt Windsor
 *
 */

public class FrontendFrame extends JFrame
{
  /**
   * 
   */
  
  private static final long serialVersionUID = 740928181256928433L;
  
  private FrontendPanel parent;
  
  public
  FrontendFrame (FrontendPanel parent)
  {
    super (parent.getName ());
    
    setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    
    this.parent = parent;
    
    Container cp = getContentPane ();
    
    // Banner
    
    JPanel banner = new JPanel ();
    JLabel bannerLabel = new JLabel ("<html><h1><font color=white>"
                                     + parent.getName () + "</font></h1></html>");
    
    bannerLabel.setBorder (BorderFactory.createEmptyBorder (5, 15, 5, 5));
    
    banner.setLayout (new FlowLayout (FlowLayout.LEFT));
    banner.setBackground (new Color (0, 0, 0));
    banner.add (new JLabel (new ImageIcon (getClass ().getResource ("images/ury.png"))));
    banner.add (bannerLabel);
    
    // Composition
    
    cp.add (banner, BorderLayout.NORTH);
    cp.add (parent, BorderLayout.CENTER);
    
    pack ();
    setVisible (true);
  }
}