57 lines
1.8 KiB
Java
57 lines
1.8 KiB
Java
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();
|
|
}
|
|
}
|