Dernières modifications de style

This commit is contained in:
2024-11-24 02:25:41 +01:00
parent 458ecd0e60
commit e0bd133e38
5 changed files with 17 additions and 67 deletions

View File

@@ -54,7 +54,7 @@ public class Options {
public static boolean AUTO_FOCUS = true;
public static final int MAX_TILE_NUMBER = 5;
public static final int MAX_TILE_NUMBER = 50;
public static boolean FULL_SCREEN = false;

View File

@@ -44,11 +44,14 @@ public class GameOver extends JPanel {
// Spacer
mainPanel.add(Box.createVerticalStrut(30));
// Display final score
// Display the final score
JLabel scoreLabel = new JLabel("Votre score est de : " + finalScore);
scoreLabel.setFont(Fonts.SCORE.getFont(36)); // Using the SCORE font
scoreLabel.setForeground(Color.WHITE);
scoreLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
scoreLabel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); // Padding
scoreLabel.setOpaque(true);
scoreLabel.setBackground(new Color(0, 0, 0, 100)); // Background color with transparency
mainPanel.add(scoreLabel);
// Spacer

View File

@@ -18,23 +18,23 @@ public class LeaderboardWorldWide extends Leaderboard {
@Override
public void refresh() {
removeAll(); // Supprime tout contenu existant
setBackground(new Color(238, 238, 238)); // Gris clair moderne
setBackground(new Color(245, 245, 245)); // Gris clair plus chaleureux
// Panel principal pour centrer le leaderboard
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
mainPanel.setBackground(new Color(238, 238, 238)); // Gris clair
mainPanel.setBackground(new Color(245, 245, 245)); // Gris clair
mainPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
// Titre
JLabel titleLabel = new JLabel("Classement mondial");
titleLabel.setForeground(new Color(34, 139, 34)); // Vert forêt pour le titre
titleLabel.setForeground(new Color(76, 175, 80)); // Vert plus doux et moderne
titleLabel.setFont(new Font("Roboto", Font.BOLD, 32)); // Police moderne
titleLabel.setAlignmentX(CENTER_ALIGNMENT);
// Panel pour les trois premiers
JPanel topThreePanel = new JPanel(new GridBagLayout());
topThreePanel.setBackground(new Color(238, 238, 238)); // Gris clair
topThreePanel.setBackground(new Color(245, 245, 245)); // Gris clair
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(0, 10, 0, 10);
@@ -101,20 +101,20 @@ public class LeaderboardWorldWide extends Leaderboard {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setBackground(new Color(250, 250, 250)); // Blanc cassé
panel.setBorder(BorderFactory.createMatteBorder(1, 0, 1, 0, new Color(200, 200, 200))); // Bordure gris clair
panel.setBorder(BorderFactory.createMatteBorder(1, 0, 1, 0, new Color(220, 220, 220))); // Bordure gris clair
JLabel rankLabel = new JLabel(rank + ". ");
rankLabel.setFont(new Font("Roboto", Font.BOLD, 18));
rankLabel.setForeground(new Color(34, 139, 34)); // Vert forêt pour le rang
rankLabel.setForeground(new Color(76, 175, 80)); // Vert doux pour le rang
rankLabel.setPreferredSize(new Dimension(40, 40));
JLabel nameLabel = new JLabel(playerName);
nameLabel.setFont(new Font("Roboto", Font.PLAIN, 18));
nameLabel.setForeground(new Color(58, 58, 58)); // Gris clair
nameLabel.setForeground(new Color(60, 60, 60)); // Gris foncé pour le nom
JLabel scoreLabel = new JLabel(Integer.toString(score));
scoreLabel.setFont(new Font("Roboto", Font.BOLD, 18));
scoreLabel.setForeground(new Color(255, 165, 0)); // Orange moderne
scoreLabel.setForeground(new Color(255, 140, 0)); // Orange moderne pour le score
panel.add(rankLabel, BorderLayout.WEST);
panel.add(nameLabel, BorderLayout.CENTER);
@@ -132,7 +132,7 @@ public class LeaderboardWorldWide extends Leaderboard {
private JPanel createTopPlayerPanel(String playerName, int score, String medalPath, boolean isFirst) {
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.setBackground(isFirst ? new Color(255, 223, 0) : new Color(144, 238, 144)); // Doré pour le premier
panel.setBackground(isFirst ? new Color(255, 215, 0) : new Color(144, 238, 144)); // Or doré pour le premier, vert clair pour les autres
panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
// Ajout de l'icône de médaille redimensionnée
@@ -141,12 +141,12 @@ public class LeaderboardWorldWide extends Leaderboard {
JLabel nameLabel = new JLabel(playerName);
nameLabel.setFont(new Font("Roboto", isFirst ? Font.BOLD : Font.PLAIN, 20));
nameLabel.setForeground(new Color(34, 139, 34)); // Vert forêt pour le nom
nameLabel.setForeground(new Color(76, 175, 80)); // Vert doux pour le nom
nameLabel.setAlignmentX(CENTER_ALIGNMENT);
JLabel scoreLabel = new JLabel(Integer.toString(score));
scoreLabel.setFont(new Font("Roboto", Font.BOLD, isFirst ? 32 : 28));
scoreLabel.setForeground(new Color(58, 58, 58));
scoreLabel.setForeground(new Color(60, 60, 60)); // Gris foncé pour le score
scoreLabel.setAlignmentX(CENTER_ALIGNMENT);
panel.add(medalLabel);

View File

@@ -5,7 +5,6 @@ import fr.monkhanny.dorfromantik.utils.ImageLoader;
import fr.monkhanny.dorfromantik.enums.Fonts;
import fr.monkhanny.dorfromantik.components.Title;
import fr.monkhanny.dorfromantik.Options;
import fr.monkhanny.dorfromantik.listeners.LeaderboardToggleActionListener;
import javax.swing.*;
import java.awt.*;
@@ -17,7 +16,6 @@ public class MainMenu extends JFrame {
private ButtonPanel buttonPanel;
private JPanel leaderboardContainer; // Conteneur pour le leaderboard
private Leaderboard currentLeaderboard; // Référence au leaderboard actuel
private JButton toggleLeaderboardButton; // Bouton pour basculer entre les leaderboards
public MainMenu() {
// Charger les polices pour le titre et les boutons
@@ -63,18 +61,6 @@ public class MainMenu extends JFrame {
currentLeaderboard = new LeaderboardWorldWide();
leaderboardContainer.add(currentLeaderboard, BorderLayout.CENTER);
// Bouton pour basculer entre les leaderboards
toggleLeaderboardButton = new JButton("Changement de classement");
toggleLeaderboardButton.setFont(new Font("Arial", Font.BOLD, 16));
toggleLeaderboardButton.setBackground(new Color(64, 0, 128));
toggleLeaderboardButton.setForeground(Color.WHITE);
toggleLeaderboardButton.setFocusPainted(false);
toggleLeaderboardButton.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
leaderboardContainer.add(toggleLeaderboardButton, BorderLayout.SOUTH);
// Ajouter l'action du bouton
toggleLeaderboardButton.addActionListener(new LeaderboardToggleActionListener(leaderboardContainer, currentLeaderboard));
setVisible(true);
}

View File

@@ -1,39 +0,0 @@
package fr.monkhanny.dorfromantik.listeners;
import fr.monkhanny.dorfromantik.gui.Leaderboard;
import fr.monkhanny.dorfromantik.gui.LeaderboardByTier;
import fr.monkhanny.dorfromantik.gui.LeaderboardWorldWide;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.BorderLayout;
public class LeaderboardToggleActionListener implements ActionListener {
private boolean showingWorldwide = true;
private JPanel leaderboardContainer;
private Leaderboard currentLeaderboard;
// Constructeur qui reçoit le conteneur du leaderboard
public LeaderboardToggleActionListener(JPanel leaderboardContainer, Leaderboard currentLeaderboard) {
this.leaderboardContainer = leaderboardContainer;
this.currentLeaderboard = currentLeaderboard;
}
@Override
public void actionPerformed(ActionEvent e) {
// Basculer entre les deux leaderboards
leaderboardContainer.remove(currentLeaderboard);
if (showingWorldwide) {
currentLeaderboard = new LeaderboardByTier(); // Leaderboard par tranche
} else {
currentLeaderboard = new LeaderboardWorldWide(); // Leaderboard avec les meilleurs joueurs du monde
}
showingWorldwide = !showingWorldwide;
leaderboardContainer.add(currentLeaderboard, BorderLayout.CENTER);
leaderboardContainer.revalidate();
leaderboardContainer.repaint();
}
}