/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package app.navigps.gui; import app.navigps.gui.detailspanel.AlphaJPanel; import app.navigps.utils.Utils; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Rectangle; import javax.swing.border.Border; /** * * @author vara */ public class StatusPanel extends AlphaJPanel { /** * */ public static final String LEFT_PANEL = "left.panel"; /** * */ public static final String CENTER_PANEL = "center.panel"; /** * */ public static final String RIGHT_PANEL = "right.panel"; /** * @return the lowColor */ public static Color getLowColor() { return lowColor; } /** * @param aLowColor the lowColor to set */ public static void setLowColor(Color aLowColor) { lowColor = aLowColor; } /** * @return the highColor */ public static Color getHighColor() { return highColor; } /** * @param aHighColor the highColor to set */ public static void setHighColor(Color aHighColor) { highColor = aHighColor; } private AlphaJPanel [] panels = new AlphaJPanel[3]; private static Color lowColor = new Color(174,201,255); private static Color highColor = new Color(255, 255, 255); /** * */ public StatusPanel(){ initComponents(); setLayout(new GridLayout(1,panels.length,1,1)); setBorder(Utils.createOutsiderBorder(3,1,0,1,lowColor)); setBackground(Color.WHITE); } /** * * @return */ public static Border getDefaultBorder(){ return Utils.createOutsiderBorder(1,1,1,1,new Color(174,201,255)); } private void initComponents(){ for (int i = 0; i < panels.length; i++) { panels[i] = new AlphaJPanel(); panels[i].setOpaque(false); GridLayout gl = new GridLayout(); gl.setHgap(2); panels[i].setLayout(gl); add(panels[i]); } } /** * * @return */ @Override public Dimension getPreferredSize() { Dimension dim = super.getPreferredSize(); if(dim.getHeight()<26){ dim.setSize(dim.width, 26); setPreferredSize(dim); } return dim; } public AlphaJPanel getPanel(String position){ if(position.equals(LEFT_PANEL)){ return panels[0]; }else if(position.equals(CENTER_PANEL)){ return panels[1]; }else if(position.equals(RIGHT_PANEL)){ return panels[2]; } return null; } /** * * @param comp * @param position */ public void addToPanelFromPosition(Component comp,String position){ AlphaJPanel ap = getPanel(position); if(ap!=null){ ap.add(comp); } } /** * * @param g */ @Override public void paintComponent(Graphics g){ final Graphics2D g2 = (Graphics2D) g; GradientPaint gradient1 = new GradientPaint(0.0f, (float) getHeight(),getLowColor(), 0.0f, 8.5f, getHighColor()); Rectangle rec1 = new Rectangle(0, 0, getWidth(), getHeight()); g2.setPaint(gradient1); g2.fill(rec1); } }