Java : Membuat Tombol Oval/Rounded Button Pada Netbeans - RM Tutorial

Terbaru

18 September 2017

Java : Membuat Tombol Oval/Rounded Button Pada Netbeans



Java – Setelah sebelumnya saya membuat modifikasi Jpanel bergambar, kali ini saya akan melanjutkan memodifikasi Jbutton menjadi oval. Komponen tombol pada Netbeans sendiri hanya berbentuk persegi empat, kali ini saya akan memodofikasinya menjadi oval atau bulat untuk membuat nilai tambah pada program Java anda. Langsung saja berikut caranya :
      1.      Buat sebuah file java class baru dari poject anda yang sudah ada


2.      Lalu tambahkan script berikut pada Class Java anda (agak banyak)

 
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import javax.swing.Icon;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.RoundRectangle2D;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.SwingUtilities;
/**
 *
 * @author User
 */
public class bt extends JButton{
    private  boolean  over;
    private boolean press;
   
    public bt(){
        super();
        setFocusPainted(false);
        setBorderPainted(false);
        setContentAreaFilled(false);
        setOver(false);
        addMouseListener(new MouseAdapter() {


            public void mouseEntered(MouseEvent e){
                setOver(true);
        }
            public void mouseExited(MouseEvent e){
                setOver(false);
            }
            public void mousePressed(MouseEvent e){
                setPress(true);
            }
            public void mouseReleased(MouseEvent e){
                setPress(false);
            }
        });   
    }
    public boolean  isOver(){
        return over;
    }
    public void setOver(boolean  over){
        this.over = over;
        repaint();
    }
    public  boolean  isPressed(){
        return  press;
    }
    public  void setPress(boolean press){
        this.press=press;
        repaint();
    }
   
    @Override
    public void setIcon(Icon defaultIcon){
        if (defaultIcon instanceof ImageIcon){
            ImageIcon icon=(ImageIcon) defaultIcon;
           
            super.setIcon(icon);
        }else{
            super.setIcon(defaultIcon);
        }
    }
   
    @Override
    protected void paintComponent(Graphics g){
        Color light=new Color(1F,1F,0.55F);
        Color dark=new Color (1F,1F,1F,0.75F);
        GradientPaint paint=null;
        if (over){
            if(press){
                paint = new GradientPaint(0, 0, light, 0, getHeight(),light);
            }else {
                paint=new GradientPaint(0, 0, dark, 0, getHeight(),light);
            }
        }else{
            paint = new GradientPaint(0, 0, light, 0, getHeight(),dark);
        }
        RoundRectangle2D.Double kotak = new RoundRectangle2D.Double(0,0,getWidth(),
        getHeight(),getHeight(),getHeight());
       
        Graphics2D g2=(Graphics2D)g.create();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setPaint(paint);
        g2.fill(kotak);
        super.paintComponent(g);
    }
    public static void main(String[]usu){
        SwingUtilities.invokeLater(new Runnable() {
           
       
        @Override
        public void run(){
        // Frame frame = new Frame();   
        }
       
    });
    }
}





     3.      Anda dapat mengganti warna tombolnya pada area berikut (gambar)

     4.      Jika sudah, dan tidak terdapat error, langsung simpan file nya
     5.      Coba seret ke Jframe anda

     6.      Sesuaikan dengan ukuran dan bentuk yang anda inginkan

      Selamat mencoba dan semoga berhasil