Amélioration #1
This commit is contained in:
@@ -13,6 +13,7 @@ public class SettingsPanel extends JPanel {
|
||||
|
||||
private MainMenu mainMenu;
|
||||
private JFrame settingsFrame;
|
||||
private JButton returnButton; // Déclarer le bouton pour pouvoir y accéder depuis d'autres méthodes
|
||||
|
||||
public SettingsPanel(MainMenu mainMenu, JFrame settingsFrame) {
|
||||
this.mainMenu = mainMenu;
|
||||
@@ -43,7 +44,7 @@ public class SettingsPanel extends JPanel {
|
||||
title.setHorizontalAlignment(JLabel.CENTER);
|
||||
topPanel.add(title, BorderLayout.CENTER);
|
||||
|
||||
JButton returnButton = createReturnButtonWithIcon();
|
||||
returnButton = createReturnButtonWithIcon(); // Initialiser le bouton ici
|
||||
JPanel leftPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||
leftPanel.setOpaque(false);
|
||||
leftPanel.add(returnButton);
|
||||
@@ -52,6 +53,13 @@ public class SettingsPanel extends JPanel {
|
||||
this.add(topPanel, BorderLayout.NORTH);
|
||||
}
|
||||
|
||||
// Méthode pour rendre le bouton de retour visible ou invisible
|
||||
public void setReturnButtonVisible(boolean visible) {
|
||||
if (returnButton != null) {
|
||||
returnButton.setVisible(visible);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
@@ -144,52 +152,52 @@ public class SettingsPanel extends JPanel {
|
||||
}
|
||||
|
||||
private JPanel createAutoFocusPanel() {
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // Disposition verticale
|
||||
panel.setOpaque(false); // Assurer que le fond est transparent
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // Disposition verticale
|
||||
panel.setOpaque(false); // Assurer que le fond est transparent
|
||||
|
||||
// Titre de la section
|
||||
JLabel titleLabel = new JLabel("Focus Automatique");
|
||||
titleLabel.setFont(new Font("Roboto", Font.PLAIN, 30));
|
||||
titleLabel.setForeground(Color.WHITE);
|
||||
titleLabel.setAlignmentX(Component.CENTER_ALIGNMENT); // Aligner le texte au centre
|
||||
panel.add(titleLabel);
|
||||
panel.add(Box.createVerticalStrut(10)); // Espacement vertical
|
||||
// Titre de la section
|
||||
JLabel titleLabel = new JLabel("Focus Automatique");
|
||||
titleLabel.setFont(new Font("Roboto", Font.PLAIN, 30));
|
||||
titleLabel.setForeground(Color.WHITE);
|
||||
titleLabel.setAlignmentX(Component.CENTER_ALIGNMENT); // Aligner le texte au centre
|
||||
panel.add(titleLabel);
|
||||
panel.add(Box.createVerticalStrut(10)); // Espacement vertical
|
||||
|
||||
// Panneau contenant texte et case à cocher sur la même ligne
|
||||
JPanel checkBoxPanel = new JPanel();
|
||||
checkBoxPanel.setLayout(new BoxLayout(checkBoxPanel, BoxLayout.X_AXIS)); // Disposition horizontale
|
||||
checkBoxPanel.setOpaque(false); // Assurer que le fond est transparent
|
||||
// Panneau contenant texte et case à cocher sur la même ligne
|
||||
JPanel checkBoxPanel = new JPanel();
|
||||
checkBoxPanel.setLayout(new BoxLayout(checkBoxPanel, BoxLayout.X_AXIS)); // Disposition horizontale
|
||||
checkBoxPanel.setOpaque(false); // Assurer que le fond est transparent
|
||||
|
||||
// Texte explicatif avant la case à cocher
|
||||
JLabel descriptionLabel = new JLabel("Gestion du focus automatique (nécessite une bonne carte graphique) :");
|
||||
descriptionLabel.setFont(new Font("Roboto", Font.PLAIN, 22));
|
||||
descriptionLabel.setForeground(Color.WHITE);
|
||||
descriptionLabel.setAlignmentX(Component.LEFT_ALIGNMENT); // Aligner à gauche
|
||||
checkBoxPanel.add(descriptionLabel); // Ajouter le texte dans le panneau
|
||||
// Texte explicatif avant la case à cocher
|
||||
JLabel descriptionLabel = new JLabel("Gestion du focus automatique (nécessite une bonne carte graphique) :");
|
||||
descriptionLabel.setFont(new Font("Roboto", Font.PLAIN, 22));
|
||||
descriptionLabel.setForeground(Color.WHITE);
|
||||
descriptionLabel.setAlignmentX(Component.LEFT_ALIGNMENT); // Aligner à gauche
|
||||
checkBoxPanel.add(descriptionLabel); // Ajouter le texte dans le panneau
|
||||
|
||||
// Ajouter un espace flexible entre le texte et la case à cocher
|
||||
checkBoxPanel.add(Box.createHorizontalGlue()); // Cela pousse la case à cocher vers la droite
|
||||
// Ajouter un espace flexible entre le texte et la case à cocher
|
||||
checkBoxPanel.add(Box.createHorizontalGlue()); // Cela pousse la case à cocher vers la droite
|
||||
|
||||
// Case à cocher
|
||||
JCheckBox autoFocusCheckBox = new JCheckBox();
|
||||
autoFocusCheckBox.setFont(new Font("Roboto", Font.PLAIN, 22));
|
||||
autoFocusCheckBox.setFocusPainted(false);
|
||||
autoFocusCheckBox.setOpaque(false);
|
||||
autoFocusCheckBox.setBorderPainted(false);
|
||||
autoFocusCheckBox.setMargin(new Insets(5, 5, 5, 5));
|
||||
autoFocusCheckBox.setSelected(Options.AUTO_FOCUS); // État initial selon la valeur actuelle de AUTO_FOCUS
|
||||
autoFocusCheckBox.addActionListener(e -> {
|
||||
Options.AUTO_FOCUS = autoFocusCheckBox.isSelected(); // Mettre à jour la variable auto-focus
|
||||
});
|
||||
// Case à cocher
|
||||
JCheckBox autoFocusCheckBox = new JCheckBox();
|
||||
autoFocusCheckBox.setFont(new Font("Roboto", Font.PLAIN, 22));
|
||||
autoFocusCheckBox.setFocusPainted(false);
|
||||
autoFocusCheckBox.setOpaque(false);
|
||||
autoFocusCheckBox.setBorderPainted(false);
|
||||
autoFocusCheckBox.setMargin(new Insets(5, 5, 5, 5));
|
||||
autoFocusCheckBox.setSelected(Options.AUTO_FOCUS); // État initial selon la valeur actuelle de AUTO_FOCUS
|
||||
autoFocusCheckBox.addActionListener(e -> {
|
||||
Options.AUTO_FOCUS = autoFocusCheckBox.isSelected(); // Mettre à jour la variable auto-focus
|
||||
});
|
||||
|
||||
checkBoxPanel.add(autoFocusCheckBox); // Ajouter la case à cocher
|
||||
checkBoxPanel.add(autoFocusCheckBox); // Ajouter la case à cocher
|
||||
|
||||
// Ajouter le panneau contenant texte + case à cocher
|
||||
panel.add(checkBoxPanel);
|
||||
// Ajouter le panneau contenant texte + case à cocher
|
||||
panel.add(checkBoxPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
return panel;
|
||||
}
|
||||
|
||||
|
||||
private JPanel createSliderPanel(JSlider volumeSlider) {
|
||||
@@ -221,7 +229,6 @@ public class SettingsPanel extends JPanel {
|
||||
return gbc;
|
||||
}
|
||||
|
||||
|
||||
private JButton createReturnButtonWithIcon() {
|
||||
ImageIcon originalIcon = new ImageIcon(Images.EXIT_ICON.getImagePath());
|
||||
|
||||
|
Reference in New Issue
Block a user