/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.impl.gui.customcontrols; import java.awt.*; import javax.swing.*; import net.java.sip.communicator.impl.gui.utils.*; /** * The TitlePanel is a decorated panel, that could be used for a * header or a title area. This panel is used for example in the * ConfigurationFrame. * * @author Yana Stamcheva */ public class TitlePanel extends JPanel { private JLabel titleLabel = new JLabel(); /** * Creates an instance of TitlePanel. */ public TitlePanel() { super(new FlowLayout(FlowLayout.CENTER)); this.setPreferredSize(new Dimension(0, 30)); this.titleLabel.setFont(this.getFont().deriveFont(Font.BOLD, 14)); } /** * Creates an instance of TitlePanel by specifying the title * String. * * @param title A String title. */ public TitlePanel(String title) { super(new FlowLayout(FlowLayout.CENTER)); this.titleLabel.setFont(this.getFont().deriveFont(Font.BOLD, 14)); this.titleLabel.setText(title); this.add(titleLabel); } /** * Overrides the paintComponent method of JPanel * to paint a gradient background of this panel. */ public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; GradientPaint p = new GradientPaint(this.getWidth() / 2, 0, Constants.MOVER_START_COLOR, this.getWidth() / 2, Constants.GRADIENT_SIZE, Constants.MOVER_END_COLOR); GradientPaint p1 = new GradientPaint(this.getWidth() / 2, this .getHeight() - Constants.GRADIENT_SIZE, Constants.MOVER_END_COLOR, this.getWidth() / 2, this.getHeight(), Constants.MOVER_START_COLOR); g2.setPaint(p); g2 .fillRect(0, 0, this.getWidth(), Constants.GRADIENT_SIZE); g2.setColor(Constants.MOVER_END_COLOR); g2.fillRect(0, Constants.GRADIENT_SIZE, this.getWidth(), this.getHeight() - Constants.GRADIENT_SIZE); g2.setPaint(p1); g2.fillRect(0, this.getHeight() - Constants.GRADIENT_SIZE - 1, this.getWidth(), this.getHeight() - 1); g2.setColor(Constants.BLUE_GRAY_BORDER_COLOR); g2.drawRoundRect(0, 0, this.getWidth() - 1, this.getHeight() - 1, 5, 5); } /** * Sets the title String. * @param title The title String. */ public void setTitleText(String title) { this.removeAll(); this.titleLabel.setText(title); this.add(titleLabel); } }