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.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.swing.JSlider; 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 { public class MusicVolumeChangeListener implements ChangeListener {
/**
* Le slider associé permettant de contrôler le volume de la musique.
*/
private JSlider slider; private JSlider slider;
/**
* Constructeur de MusicVolumeChangeListener.
*
* @param slider le composant JSlider utilisé pour ajuster le volume
*/
public MusicVolumeChangeListener(JSlider slider) { public MusicVolumeChangeListener(JSlider slider) {
this.slider = 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 @Override
public void stateChanged(ChangeEvent e) { public void stateChanged(ChangeEvent e) {
// Récupérer la valeur du slider spécifique // Récupérer la valeur du slider spécifique
Options.MUSIC_VOLUME = slider.getValue(); Options.MUSIC_VOLUME = slider.getValue();
// Applique le nouveau volume au lecteur de musique
MusicPlayer.setVolume(MusicPlayer.getMusicClip(), Options.MUSIC_VOLUME); MusicPlayer.setVolume(MusicPlayer.getMusicClip(), Options.MUSIC_VOLUME);
} }
} }

View File

@@ -6,14 +6,33 @@ import fr.monkhanny.dorfromantik.utils.MusicPlayer;
import javax.swing.*; import javax.swing.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 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 { 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; 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) { public MuteCheckBoxListener(String label) {
this.label = 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 @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
JCheckBox checkBox = (JCheckBox) e.getSource(); JCheckBox checkBox = (JCheckBox) e.getSource();
@@ -26,6 +45,7 @@ public class MuteCheckBoxListener implements ActionListener {
MusicPlayer.playMusic(); MusicPlayer.playMusic();
} }
} else if ("SFX".equals(label)) { } else if ("SFX".equals(label)) {
// Active ou désactive les effets sonores (SFX)
Options.SOUNDS_MUTED = !checkBox.isSelected(); Options.SOUNDS_MUTED = !checkBox.isSelected();
} }
} }