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(); } }