jButton Circle Gradient Color

 

Create java Class

Example : jBbuttoncirclegradient.java

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JButton;

public class jBbuttoncirclegradient extends JButton {

    private Color Warnaatas = Color.RED;
    private Color Warnabawah = Color.BLACK;
    private Color Warnahoveratas = Color.GREEN;
    private Color Warnahoverbawah = Color.RED;
    private Color Warnaklikatas = Color.BLUE;
    private Color Warnaklikbawah = Color.MAGENTA;
    private Color Warnatext = Color.WHITE;
    private boolean enter, press;

    public boolean isEnter() {
        return enter;
    }

    public void setEnter(boolean enter) {
        this.enter = enter;
        repaint();
    }

    public boolean isPress() {
        return press;
    }

    public void setPress(boolean press) {
        this.press = press;
        repaint();
    }

    public Color getWarnaatas() {
        return Warnaatas;
    }

    public void setWarnaatas(Color Warnaatas) {
        this.Warnaatas = Warnaatas;
    }

    public Color getWarnabawah() {
        return Warnabawah;
    }

    public void setWarnabawah(Color Warnabawah) {
        this.Warnabawah = Warnabawah;
    }

    public Color getWarnahoveratas() {
        return Warnahoveratas;
    }

    public void setWarnahoveratas(Color Warnahoveratas) {
        this.Warnahoveratas = Warnahoveratas;
    }

    public Color getWarnahoverbawah() {
        return Warnahoverbawah;
    }

    public void setWarnahoverbawah(Color Warnahoverbawah) {
        this.Warnahoverbawah = Warnahoverbawah;
    }

    public Color getWarnaklikatas() {
        return Warnaklikatas;
    }

    public void setWarnaklikatas(Color Warnaklikatas) {
        this.Warnaklikatas = Warnaklikatas;
    }

    public Color getWarnaklikbawah() {
        return Warnaklikbawah;
    }

    public void setWarnaklikbawah(Color Warnaklikbawah) {
        this.Warnaklikbawah = Warnaklikbawah;
    }

    public Color getWarnatext() {
        return Warnatext;
    }

    public void setWarnatext(Color Warnatext) {
        this.Warnatext = Warnatext;
    }

    public jBbuttoncirclegradient() {
        setPreferredSize(new Dimension(80, 80));
        setOpaque(false);
        setBorderPainted(false);
        setFocusPainted(false);
        setContentAreaFilled(false);
        setForeground(Warnatext);
        setFont(getFont().deriveFont(Font.BOLD));
        addMouseListener(new MouseAdapter() {

            @Override
            public void mouseEntered(MouseEvent e) {
                super.mouseEntered(e);
                setEnter(true);
            }

            @Override
            public void mouseExited(MouseEvent e) {
                super.mouseExited(e);
                setEnter(false);
            }

            @Override
            public void mousePressed(MouseEvent e) {
                super.mousePressed(e);
                setPress(true);
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                super.mouseReleased(e);
                setPress(false);
            }
        });
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D gd = (Graphics2D) g.create();
        GradientPaint paint = new GradientPaint(0, 0, Warnaatas, 0, getHeight(), Warnabawah);
        Shape shape = new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), getHeight(), getHeight());
        if (isEnter()) {
            paint = new GradientPaint(0, 0, Warnahoveratas, 0, getHeight(), Warnahoverbawah);
            if (isPress()) {
                paint = new GradientPaint(0, 0, Warnaklikatas, 0, getHeight(), Warnaklikbawah);
            }
        }
        gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        gd.setPaint(paint);
        gd.fill(shape);
        gd.dispose();
        super.paintComponent(g);
    }
}

Clean and Build

Right click java project, select clean and build

How to Use

  • Create Jframe 
  • Drag and drop jBbuttoncirclegradient.java into jframe 

Properties option


 

Posting Komentar

0 Komentar