Arrondir un JButton en Java

JButton est une sous-classe de la classe AbstractButton et il peut être utilisé pour ajouter des boutons indépendants de la plate-forme dans une application Java Swing. Dans ce tutoriel nous allons découvrir comment arrondir un JButton en Java, en implémentant l’interface Border fourni sous le package javax.swing.border.Border.
 
 


 

Exemple:
import javax.swing.*;
import java.awt.*;
import javax.swing.border.Border;

public class Main
{
  public static void main(String[] args) 
  {
    //créer un frame
    JFrame frame = new JFrame("Arrondir JButton");
    //créer un bouton
    JButton btn = new JButton("Cliquez ici");
    //définir la position du bouton
    btn.setBounds(70,80,100,30);
    //Arrondir le bouton avec radius = 15
    btn.setBorder(new RoundBtn(15)); 	
    //ajouter le bouton au frame
    frame.add(btn);
    frame.setSize(250,250);
    frame.setLayout(null);
    frame.setVisible(true);  
  }
}

class RoundBtn implements Border 
{
    private int r;

    RoundBtn(int r) {
        this.r = r;
    }

    public Insets getBorderInsets(Component c) {
        return new Insets(this.r+1, this.r+1, this.r+2, this.r);
    }

    public boolean isBorderOpaque() {
        return true;
    }

    public void paintBorder(Component c, Graphics g, int x, int y, 
    int width, int height) {
        g.drawRoundRect(x, y, width-1, height-1, r, r);
    }
}

Sortie:


 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *