Amélioration de la javadoc et du code

This commit is contained in:
2024-12-06 23:08:17 +01:00
parent 35d25bb960
commit 894e430efc
2 changed files with 68 additions and 8 deletions

View File

@@ -8,6 +8,8 @@ import java.io.IOException;
/** /**
* Classe utilitaire pour charger des polices à partir de fichiers. * Classe utilitaire pour charger des polices à partir de fichiers.
*
* Cette classe fournit une méthode statique pour charger une police à partir d'un fichier
* @version 1.0 * @version 1.0
* @author Moncef STITI * @author Moncef STITI
* @see Fonts * @see Fonts

View File

@@ -5,12 +5,33 @@ import fr.monkhanny.dorfromantik.enums.Fonts;
import java.awt.*; import java.awt.*;
import java.io.IOException; import java.io.IOException;
/**
* Classe utilitaire pour charger et gérer les polices personnalisées.
*
* Cette classe permet de charger et d'appliquer des polices personnalisées pour les titres et les boutons.
* Elle gère également l'ajustement automatique de la taille de la police en fonction de la taille des composants.
*
* @version 1.0
* @author Moncef STITI
*/
public class FontManager { public class FontManager {
/**
* Police pour les titres.
*/
private static Font titleFont; private static Font titleFont;
/**
* Police pour les boutons.
*/
private static Font buttonFont; private static Font buttonFont;
// Charge et applique la police spécifique en fonction de Fonts /**
* Charge une police personnalisée à partir du fichier de police spécifié.
*
* @param fontEnum Enumération de la police à charger
* @throws RuntimeException si le chargement de la police échoue
* @throws IllegalStateException si la police est déjà chargée
*/
public static void loadCustomFont(Fonts fontEnum) { public static void loadCustomFont(Fonts fontEnum) {
try { try {
Font loadedFont = FontLoader.loadFont(fontEnum); Font loadedFont = FontLoader.loadFont(fontEnum);
@@ -24,7 +45,13 @@ public class FontManager {
} }
} }
// Obtient la police du titre avec une taille spécifique /**
* Obtient la police du titre avec une taille spécifique.
*
* @param size La taille souhaitée pour la police du titre.
* @return La police du titre redimensionnée à la taille donnée.
* @throws IllegalStateException si la police du titre n'a pas été chargée.
*/
public static Font getTitleFont(float size) { public static Font getTitleFont(float size) {
if (titleFont == null) { if (titleFont == null) {
throw new IllegalStateException("Title font not loaded. Please load the font first."); throw new IllegalStateException("Title font not loaded. Please load the font first.");
@@ -32,7 +59,13 @@ public class FontManager {
return titleFont.deriveFont(size); return titleFont.deriveFont(size);
} }
// Obtient la police du bouton avec une taille spécifique /**
* Obtient la police du bouton avec une taille spécifique.
*
* @param size La taille souhaitée pour la police du bouton.
* @return La police du bouton redimensionnée à la taille donnée.
* @throws IllegalStateException si la police du bouton n'a pas été chargée.
*/
public static Font getButtonFont(float size) { public static Font getButtonFont(float size) {
if (buttonFont == null) { if (buttonFont == null) {
throw new IllegalStateException("Button font not loaded. Please load the font first."); throw new IllegalStateException("Button font not loaded. Please load the font first.");
@@ -40,7 +73,16 @@ public class FontManager {
return buttonFont.deriveFont(size); return buttonFont.deriveFont(size);
} }
// Ajuste la taille de la police du titre selon la taille du composant sans la modifier directement
/**
* Ajuste la taille de la police du titre en fonction de la taille du composant donné.
*
* @param component Le composant dont la taille est utilisée pour ajuster la police.
* @param minSize La taille minimale de la police.
* @param maxSize La taille maximale de la police.
* @return La police du titre ajustée à la taille calculée.
* @throws IllegalStateException si la police du titre n'a pas été chargée.
*/
public static Font getAdjustedTitleFont(Component component, float minSize, float maxSize) { public static Font getAdjustedTitleFont(Component component, float minSize, float maxSize) {
if (titleFont == null) { if (titleFont == null) {
throw new IllegalStateException("Title font not loaded. Please load the font first."); throw new IllegalStateException("Title font not loaded. Please load the font first.");
@@ -49,7 +91,15 @@ public class FontManager {
return titleFont.deriveFont(newSize); return titleFont.deriveFont(newSize);
} }
// Ajuste la taille de la police du bouton selon la taille du composant sans la modifier directement /**
* Ajuste la taille de la police du bouton en fonction de la taille du composant donné.
*
* @param component Le composant dont la taille est utilisée pour ajuster la police.
* @param minSize La taille minimale de la police.
* @param maxSize La taille maximale de la police.
* @return La police du bouton ajustée à la taille calculée.
* @throws IllegalStateException si la police du bouton n'a pas été chargée.
*/
public static Font getAdjustedButtonFont(Component component, float minSize, float maxSize) { public static Font getAdjustedButtonFont(Component component, float minSize, float maxSize) {
if (buttonFont == null) { if (buttonFont == null) {
throw new IllegalStateException("Button font not loaded. Please load the font first."); throw new IllegalStateException("Button font not loaded. Please load the font first.");
@@ -58,12 +108,20 @@ public class FontManager {
return buttonFont.deriveFont(newSize); return buttonFont.deriveFont(newSize);
} }
// Définir manuellement une police de titre personnalisée /**
* Définit manuellement une police de titre personnalisée.
*
* @param font La police de titre personnalisée à définir.
*/
public static void setTitleFont(Font font) { public static void setTitleFont(Font font) {
titleFont = font; titleFont = font;
} }
// Définir manuellement une police de bouton personnalisée /**
* Définit manuellement une police de bouton personnalisée.
*
* @param font La police de bouton personnalisée à définir.
*/
public static void setButtonFont(Font font) { public static void setButtonFont(Font font) {
buttonFont = font; buttonFont = font;
} }