Merge branch 'main' of grond.iut-fbleau.fr:stiti/SAE31_2024

This commit is contained in:
2024-12-07 18:29:06 +01:00
2 changed files with 44 additions and 6 deletions

View File

@@ -6,18 +6,36 @@ import fr.monkhanny.dorfromantik.utils.MusicPlayer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.JSlider;
/**
* @version 1.0
* @author Moncef STITI
* Classe MusicVolumeChangeListener, un écouteur d'événements pour gérer les changements
* de volume de la musique via un composant JSlider.
*/
public class MusicVolumeChangeListener implements ChangeListener {
/**
* Le slider associé permettant de contrôler le volume de la musique.
*/
private JSlider slider;
/**
* Constructeur de MusicVolumeChangeListener.
*
* @param slider le composant JSlider utilisé pour ajuster le volume
*/
public MusicVolumeChangeListener(JSlider slider) {
this.slider = slider;
}
/**
* Gère les changements d'état du slider (JSlider).
* Met à jour le volume de la musique en fonction de la position actuelle du slider.
*
* @param e l'événement ChangeEvent déclenché par un changement de valeur sur le slider
*/
@Override
public void stateChanged(ChangeEvent e) {
// Récupérer la valeur du slider spécifique
Options.MUSIC_VOLUME = slider.getValue();
// Applique le nouveau volume au lecteur de musique
MusicPlayer.setVolume(MusicPlayer.getMusicClip(), Options.MUSIC_VOLUME);
}
}

View File

@@ -6,14 +6,33 @@ import fr.monkhanny.dorfromantik.utils.MusicPlayer;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* @version 1.0
* @author Moncef STITI
* Classe MuteCheckBoxListener, un écouteur d'événements pour gérer les cases à cocher
* permettant d'activer ou de désactiver la musique et les effets sonores (SFX).
*/
public class MuteCheckBoxListener implements ActionListener {
/**
* Libellé indiquant le type d'option contrôlée par cet écouteur.
* Par exemple, "Musique" pour la musique de fond ou "SFX" pour les effets sonores.
*/
private String label;
/**
* Constructeur de MuteCheckBoxListener.
*
* @param label un libellé pour indiquer le type d'option (par exemple "Musique" ou "SFX")
*/
public MuteCheckBoxListener(String label) {
this.label = label;
}
/**
* Gère les événements de clic sur une case à cocher.
* Permet d'activer ou de désactiver la musique ou les effets sonores en fonction
* du libellé fourni.
*
* @param e l'événement ActionEvent déclenché par un clic sur une case à cocher
*/
@Override
public void actionPerformed(ActionEvent e) {
JCheckBox checkBox = (JCheckBox) e.getSource();
@@ -26,6 +45,7 @@ public class MuteCheckBoxListener implements ActionListener {
MusicPlayer.playMusic();
}
} else if ("SFX".equals(label)) {
// Active ou désactive les effets sonores (SFX)
Options.SOUNDS_MUTED = !checkBox.isSelected();
}
}