RibbonPanelHeader.java

00001 package edu.stanford.hci.r3.util.components.ribbons;
00002 
00003 import static edu.stanford.hci.r3.util.components.ribbons.RibbonConstants.HEADER_COLOR;
00004 import static edu.stanford.hci.r3.util.components.ribbons.RibbonConstants.HEADER_FONT;
00005 import static edu.stanford.hci.r3.util.components.ribbons.RibbonConstants.HEADER_HEIGHT;
00006 
00007 import java.awt.Color;
00008 import java.awt.Dimension;
00009 import java.awt.Graphics;
00010 import java.awt.Graphics2D;
00011 import java.awt.geom.Rectangle2D;
00012 
00013 import javax.swing.JPanel;
00014 
00015 import edu.stanford.hci.r3.util.graphics.GraphicsUtils;
00016 
00028 public class RibbonPanelHeader extends JPanel {
00029 
00033         private String name;
00034 
00038         RibbonPanelHeader(String displayName) {
00039                 name = displayName;
00040                 setMinimumSize(new Dimension(getWidth(), HEADER_HEIGHT));
00041                 setMaximumSize(new Dimension(getWidth(), HEADER_HEIGHT));
00042                 setPreferredSize(new Dimension(getWidth(), HEADER_HEIGHT));
00043                 setOpaque(false);
00044         }
00045 
00049         @Override
00050         protected void paintComponent(Graphics g) {
00051                 super.paintComponent(g);
00052                 final Graphics2D g2d = (Graphics2D) g;
00053                 g2d.setRenderingHints(GraphicsUtils.getBestRenderingHints());
00054 
00055                 g2d.setColor(HEADER_COLOR);
00056                 g2d.fillRoundRect(0, -14, getWidth(), getHeight()+14, 14, 14);
00057 
00058                 g2d.setFont(HEADER_FONT);
00059                 Rectangle2D stringBounds = g2d.getFontMetrics().getStringBounds(name, g2d);
00060                 g2d.setColor(Color.DARK_GRAY);
00061                 g2d.drawString(name, 6, (int) (1 + stringBounds.getHeight()));
00062                 g2d.setColor(Color.WHITE);
00063                 g2d.drawString(name, 5, (int) (stringBounds.getHeight()));
00064         }
00065 
00066 }

Generated on Sat Apr 14 18:21:38 2007 for R3 Paper Toolkit by  doxygen 1.4.7