import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Volume extends JFrame implements MouseWheelListener {
    private int value = 5; // Valeur initiale

    public Volume() {
        setTitle("Volume");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(800, 200);
        setLocationRelativeTo(null);
        getContentPane().setBackground(Color.BLACK); // Changement de la couleur de fond en noir

        // Ajout de la molette de la souris comme écouteur d'événements
        addMouseWheelListener(this);

        setVisible(true);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        int diameter = 50; // Diamètre des disques
        int spacing = 10; // Espacement entre les disques
        int x = 50; // Position horizontale initiale des disques

        // Dessin des disques jaune
        for (int i = 0; i < value; i++) {
            g.setColor(Color.YELLOW);
            g.fillOval(x, 75 - diameter / 2, diameter, diameter);
            x += diameter + spacing;
        }

        // Dessin des disques restant en gris
        for (int i = value; i < 10; i++) {
            g.setColor(Color.GRAY);
            g.fillOval(x, 75 - diameter / 2, diameter, diameter);
            x += diameter + spacing;
        }
    }

    @Override
    public void mouseWheelMoved(MouseWheelEvent e) {
        // Ajustement de la valeur en fonction du mouvement de la molette de la souris
        value += e.getWheelRotation();
        // Assurer que la valeur reste dans la plage de 0 à 10
        value = Math.max(0, Math.min(10, value));
        // Redessiner la fenêtre pour afficher la nouvelle valeur
        repaint();
    }

    public static void main(String[] args) {
        new Volume();
    }
}
