//TitlePanel.java

import java.awt.*;

public class TitlePanel extends Panel{
	private static final Color bgcolor = new Color(236,236,236);
	String titulo, titulo2;
        Font titleFont;
        private double sfactor;
	
        public TitlePanel(){
		super();
                titleFont = new Font("SanSerif",Font.BOLD,14);
                titulo="Unknown Title";
                titulo2="Unknown Title";
        }
        public TitlePanel(Font titleFont, String titulo, String titulo2, double sfactor){
                super();
                this.titulo=titulo;
                this.titulo2=titulo2;
                this.titleFont = titleFont;
                
                this.sfactor = sfactor;
        }
	public void paint(Graphics g){
                FontMetrics fmetrics=g.getFontMetrics();

		g.setColor(Color.gray);	
		g.fillRect(0,0,getSize().width-1,getSize().height-1);
		g.setColor(Color.black);
        	g.drawLine(0,getSize().height-1,getSize().width-1,getSize().height-1);
        	g.drawLine(getSize().width-1,0,getSize().width-1,getSize().height-1);
        	g.setColor(Color.white);
        	g.drawLine(0,0,getSize().width-1,0);
        	g.drawLine(0,0,0,getSize().height-1);

		g.setColor(Color.black);
        	g.drawLine(5,5,getSize().width-6,5);
        	g.drawLine(5,5,5,getSize().height-6);
		g.setColor(Color.white);
        	g.drawLine(5,getSize().height-5,getSize().width-6,getSize().height-5);
        	g.drawLine(getSize().width-6,5,getSize().width-6,getSize().height-5);

		g.setColor(bgcolor);
		g.fillRect(6,6,getSize().width-11,getSize().height-11);
                
                g.setColor(Color.gray.brighter());
                g.drawRect(0,0,getSize().width,getSize().height);
                
		//Graphics 2D set up for SMOOTHING
                Graphics2D g2d = (Graphics2D)g;
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
    
                g.setFont(titleFont);
                fmetrics = g.getFontMetrics();
	        g.setColor(Color.black);
                g.drawString(titulo,(int)(Math.ceil(sfactor*14)),(int)(Math.ceil(sfactor*31)));
                
                // Center the 2nd title inside the remaining horizontal space

                int nextCol = (int)(Math.ceil(sfactor*14)) + fmetrics.stringWidth(titulo);
                int availWidth = getSize().width - nextCol;
                int border = (availWidth - fmetrics.stringWidth(titulo2))/2;
                nextCol += border;
                
                g.setColor(Color.lightGray);
                g.drawString(titulo2,nextCol,(int)(Math.ceil(sfactor*31)));
                g.setColor(Color.red.darker());
                g.drawString(titulo2,nextCol-1,(int)(Math.ceil(sfactor*31)));
                
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF);
        }
}
