SyntaxTreeIcon.java :  » IDE » tIDE » tide » syntaxtree » Java Open Source

Java Open Source » IDE » tIDE 
tIDE » tide » syntaxtree » SyntaxTreeIcon.java
package tide.syntaxtree;

import snow.utils.gui.Icons;
import snow.utils.gui.Icons;
import snow.lookandfeel.ThemesManager;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

public class SyntaxTreeIcon implements Icon
{
  public String text = "?";
  int size = 18;
  public int width = 18;

  public Font letterFont = UIManager.getFont("Label.font");

  // set from outside
  public Color letterColor = ThemesManager.getInstance().getBlack();
  Color gradColor1  = ThemesManager.getInstance().getWhite();
  Color gradColor2  = ThemesManager.getInstance().getWhite();


  private static final Icon startIcon = new Icons.StartIcon(9,9,true);
  public boolean isMain = false;


  public SyntaxTreeIcon()
  {
     //gradColor1 = new Color(letterColor.getRed()*5/6, letterColor.getGreen()*5/6, letterColor.getBlue()*5/6);
     gradColor1 = new Color(200,200,200); //Color.lightGray;
  }

  public int getIconHeight() {
    return size;
  }

  public int getIconWidth() {
    return width; //(int)(size*text.length()/1.7);
  }


  public void paintIcon( Component c, Graphics g, int x, int y )
  {
    Graphics2D g2 = (Graphics2D) g;
    Color oldColor = g.getColor();

    g.translate(x, y);

    Paint oldPaint = g2.getPaint();
    //g2.setPaint(new GradientPaint(0f,0f,Color.gray.brighter(), (float) getIconWidth(), 0f, Color.LIGHT_GRAY.brighter()));
    g2.setPaint(new GradientPaint(0f,0f,gradColor1, (float) getIconWidth(), 0f, gradColor2));
    g2.fill(new Rectangle2D.Double(0,1,getIconWidth(), getIconHeight()));
    g2.setPaint(oldPaint);

    if(text!=null)
    {
      Font oldFont = g2.getFont();

      g2.setColor(letterColor);
      g2.setFont(letterFont);
      g2.drawString(text, size/4, size*7/8);

      g2.setFont(oldFont);
    }

    g2.setColor(oldColor);

    if(isMain)
    {
       startIcon.paintIcon(c, g, 21, 6);
    }
  }


}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.