Package abstrasy.bedesk.ui

Source Code of abstrasy.bedesk.ui.HalloButton$HalloButton_this_mouseAdapter

package abstrasy.bedesk.ui;


import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JToolTip;


/**
* Abstrasy Interpreter
*
* Copyright : Copyright (c) 2006-2012, Luc Bruninx.
*
* Concédée sous licence EUPL, version 1.1 uniquement (la «Licence»).
*
* Vous ne pouvez utiliser la présente oeuvre que conformément à la Licence.
* Vous pouvez obtenir une copie de la Licence à l’adresse suivante:
*
*   http://www.osor.eu/eupl
*
* Sauf obligation légale ou contractuelle écrite, le logiciel distribué sous
* la Licence est distribué "en l’état", SANS GARANTIES OU CONDITIONS QUELLES
* QU’ELLES SOIENT, expresses ou implicites.
*
* Consultez la Licence pour les autorisations et les restrictions
* linguistiques spécifiques relevant de la Licence.
*
*
* @author Luc Bruninx
* @version 1.0
*
* Note:
* ====
*
* Le code suivant est offert sous sous la licence mentionnée ci-dessus par
* la société BEDESK sprl dans le cadre du support du projet Abstrasy.
*
*/

public class HalloButton   extends JButton {
  private int halloAlpha = 0;
  private final static Color hallo32 = new Color(96, 96, 96, 32);
  private int roundDiameter = 10;
  private String _text="";
  private boolean withText=true;

  boolean toolTipCreated = false;

  public HalloButton() {
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  public void setText(String text){
    _text=text;
    if(withText){
      super.setText(_text);
    }
    else {
      super.setText("");
    }
  }

  public boolean isWithText(){
    return withText;
  }

  public void setWithText(boolean withText){
    this.withText=withText;
    this.setText(_text);
  }

  public void paintComponent(Graphics g) {

    Graphics2D g2 = (Graphics2D) g;

    if(halloAlpha==32){
      g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
      g2.setPaint(hallo32);
      g2.fillRoundRect(0, 0, this.getWidth(), this.getHeight(), roundDiameter, roundDiameter);
    }
    super.paintComponent(g);
  }

  private void jbInit() throws Exception {
        this.setBorderPainted(false);
        this.setContentAreaFilled(false);
        this.setFocusPainted(false);
        this.addMouseListener(new HalloButton_this_mouseAdapter(this));
  }

  public JToolTip createToolTip() {
    toolTipCreated = true;
    return super.createToolTip();
  }

  void this_mouseEntered(MouseEvent e) {
    halloAlpha = 32;
    this.repaint();
  }

  void this_mouseExited(MouseEvent e) {
    halloAlpha = 0;
    this.repaint();
    if (toolTipCreated) {
      //Application.application.repaint();
      toolTipCreated = false;
    }
  }
  public int getHalloAlpha() {
    return halloAlpha;
  }
  public void setHalloAlpha(int halloAlpha) {
    this.halloAlpha = halloAlpha;
    this.repaint();
  }

  public int getRoundDiameter(){
    return roundDiameter;
  }

  public void setRoundDiameter(int roundDiameter){
    this.roundDiameter=roundDiameter;
  }

  private class HalloButton_this_mouseAdapter extends MouseAdapter {

        HalloButton adaptee;

        HalloButton_this_mouseAdapter(HalloButton adaptee) {
            this.adaptee = adaptee;
        }

        public void mouseEntered(MouseEvent e) {
            adaptee.this_mouseEntered(e);
        }

        public void mouseExited(MouseEvent e) {
            adaptee.this_mouseExited(e);
        }

    }

}
TOP

Related Classes of abstrasy.bedesk.ui.HalloButton$HalloButton_this_mouseAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.