Modification de la vue du menu principal
This commit is contained in:
@@ -77,34 +77,65 @@ public class SettingsPanel extends JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private JPanel createSoundPanel(String labelText, JSlider volumeSlider, ChangeListener sliderChangeListener, MuteCheckBoxListener muteCheckBoxListener) {
|
private JPanel createSoundPanel(String labelText, JSlider volumeSlider, ChangeListener sliderChangeListener, MuteCheckBoxListener muteCheckBoxListener) {
|
||||||
JPanel panel = new JPanel(new GridBagLayout());
|
JPanel panel = new JPanel();
|
||||||
|
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // Utilisation de BoxLayout pour une disposition verticale
|
||||||
panel.setOpaque(false);
|
panel.setOpaque(false);
|
||||||
|
|
||||||
GridBagConstraints gbc = new GridBagConstraints();
|
// Titre de la section (ex: "Musique" ou "SFX")
|
||||||
gbc.insets = new Insets(10, 10, 10, 10);
|
JLabel titleLabel = new JLabel(labelText);
|
||||||
gbc.gridx = 0;
|
titleLabel.setFont(new Font("Roboto", Font.BOLD, 30));
|
||||||
|
titleLabel.setAlignmentX(Component.LEFT_ALIGNMENT); // Alignement à gauche
|
||||||
|
panel.add(titleLabel);
|
||||||
|
panel.add(Box.createVerticalStrut(10)); // Espacement vertical
|
||||||
|
|
||||||
|
// Panneau pour le bouton "Couper le son"
|
||||||
|
JPanel mutePanel = new JPanel();
|
||||||
|
mutePanel.setLayout(new BoxLayout(mutePanel, BoxLayout.X_AXIS)); // Disposition horizontale pour inverser l'ordre
|
||||||
|
mutePanel.setOpaque(false);
|
||||||
|
|
||||||
|
JLabel muteLabel = new JLabel("Couper le son");
|
||||||
|
muteLabel.setFont(new Font("Roboto", Font.PLAIN, 18)); // Augmentation de la taille du texte
|
||||||
|
muteLabel.setAlignmentX(Component.LEFT_ALIGNMENT); // Aligner le texte à gauche
|
||||||
|
mutePanel.add(muteLabel);
|
||||||
|
|
||||||
|
// Ajouter la checkbox après le texte pour qu'elle soit à droite
|
||||||
JCheckBox muteCheckBox = new JCheckBox();
|
JCheckBox muteCheckBox = new JCheckBox();
|
||||||
|
muteCheckBox.setFont(new Font("Roboto", Font.PLAIN, 18)); // Optionnel, si le style du texte dans la case est souhaité
|
||||||
|
muteCheckBox.setFocusPainted(false);
|
||||||
|
muteCheckBox.setOpaque(false);
|
||||||
|
muteCheckBox.setBorderPainted(false);
|
||||||
|
muteCheckBox.setMargin(new Insets(5, 5, 5, 5));
|
||||||
muteCheckBox.setSelected(!("Musique".equals(labelText) ? Options.MUSIC_MUTED : Options.SOUNDS_MUTED));
|
muteCheckBox.setSelected(!("Musique".equals(labelText) ? Options.MUSIC_MUTED : Options.SOUNDS_MUTED));
|
||||||
muteCheckBox.addActionListener(muteCheckBoxListener);
|
muteCheckBox.addActionListener(muteCheckBoxListener);
|
||||||
|
|
||||||
panel.add(new JLabel(labelText), gbc);
|
mutePanel.add(Box.createHorizontalGlue()); // Espace flexible entre le texte et la checkbox
|
||||||
gbc.gridx++;
|
mutePanel.add(muteCheckBox);
|
||||||
panel.add(muteCheckBox, gbc);
|
|
||||||
|
|
||||||
|
panel.add(mutePanel);
|
||||||
|
panel.add(Box.createVerticalStrut(10)); // Espace vertical
|
||||||
|
|
||||||
|
// Panneau pour le slider "Gérer le son"
|
||||||
|
JPanel volumePanel = new JPanel(new BorderLayout());
|
||||||
|
volumePanel.setOpaque(false);
|
||||||
|
JLabel manageVolumeLabel = new JLabel("Gérer le son");
|
||||||
|
manageVolumeLabel.setFont(new Font("Roboto", Font.PLAIN, 18));
|
||||||
|
volumePanel.add(manageVolumeLabel, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
// Création et ajout du slider
|
||||||
volumeSlider.setPreferredSize(new Dimension(200, 50));
|
volumeSlider.setPreferredSize(new Dimension(200, 50));
|
||||||
volumeSlider.setMajorTickSpacing(50);
|
volumeSlider.setMajorTickSpacing(50);
|
||||||
volumeSlider.setPaintTicks(true);
|
volumeSlider.setPaintTicks(true);
|
||||||
volumeSlider.setPaintLabels(true);
|
volumeSlider.setPaintLabels(true);
|
||||||
volumeSlider.setFont(new Font("Roboto", Font.PLAIN, 16));
|
volumeSlider.setFont(new Font("Roboto", Font.PLAIN, 16));
|
||||||
volumeSlider.addChangeListener(sliderChangeListener);
|
volumeSlider.addChangeListener(sliderChangeListener);
|
||||||
|
volumePanel.add(createSliderPanel(volumeSlider), BorderLayout.CENTER);
|
||||||
|
|
||||||
gbc.gridx++;
|
panel.add(volumePanel);
|
||||||
panel.add(createSliderPanel(volumeSlider), gbc);
|
|
||||||
|
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private JPanel createSliderPanel(JSlider volumeSlider) {
|
private JPanel createSliderPanel(JSlider volumeSlider) {
|
||||||
JPanel sliderPanel = new JPanel(new BorderLayout());
|
JPanel sliderPanel = new JPanel(new BorderLayout());
|
||||||
sliderPanel.setOpaque(false);
|
sliderPanel.setOpaque(false);
|
||||||
|
Reference in New Issue
Block a user