Javadoc components
This commit is contained in:
@@ -5,8 +5,23 @@ import fr.monkhanny.dorfromantik.utils.FontManager;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* Classe utilitaire pour créer des boutons personnalisés.
|
||||
* Cette classe fournit des méthodes statiques permettant de générer des boutons stylisés avec du texte ou des icônes, en respectant une apparence cohérente.
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Khalid CHENOUNA
|
||||
**/
|
||||
|
||||
public class Button {
|
||||
|
||||
/**
|
||||
* Crée un bouton personnalisé avec un texte, une taille de police spécifique et un style prédéfini.
|
||||
*
|
||||
* @param text le texte à afficher sur le bouton
|
||||
* @param fontSize la taille de la police à utiliser pour le texte
|
||||
* @return un objet {@link JButton} stylisé
|
||||
*/
|
||||
public static JButton createCustomTextButton(String text, float fontSize) {
|
||||
JButton button = new JButton(text);
|
||||
button.setFocusPainted(false); // Retirer le focus
|
||||
@@ -17,8 +32,13 @@ public class Button {
|
||||
return button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crée un bouton personnalisé contenant une icône, avec un style prédéfini.
|
||||
*
|
||||
* @param iconPath le chemin vers l'image de l'icône à afficher sur le bouton
|
||||
* @return un objet {@link JButton} contenant l'icône spécifiée
|
||||
*/
|
||||
public static JButton createCustomIconButton(String iconPath) {
|
||||
// Créer le bouton
|
||||
JButton button = new JButton();
|
||||
button.setFocusPainted(false); // Retirer le focus
|
||||
|
||||
@@ -29,20 +49,21 @@ public class Button {
|
||||
int buttonWidth = 100; // Taille du bouton (largeur)
|
||||
int buttonHeight = 100; // Taille du bouton (hauteur)
|
||||
|
||||
// Vous pouvez ajuster ces valeurs ou les calculer dynamiquement en fonction de la taille du bouton
|
||||
// Redimensionner l'image de l'icône
|
||||
Image img = icon.getImage();
|
||||
Image resizedImage = img.getScaledInstance(buttonWidth, buttonHeight, Image.SCALE_SMOOTH);
|
||||
button.setIcon(new ImageIcon(resizedImage));
|
||||
|
||||
// Optionnel : changer la couleur de fond ou de bordure si nécessaire
|
||||
button.setBackground(new Color(102, 178, 255)); // Couleur de fond (facultatif)
|
||||
// Couleur de fond (facultatif)
|
||||
button.setBackground(new Color(102, 178, 255));
|
||||
|
||||
// Retirer la bordure du bouton (facultatif)
|
||||
button.setBorder(BorderFactory.createEmptyBorder());
|
||||
|
||||
// Redimensionner le bouton pour s'adapter à l'icône si nécessaire
|
||||
// Ajuster la taille du bouton
|
||||
button.setPreferredSize(new Dimension(buttonWidth, buttonHeight));
|
||||
|
||||
return button;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -5,23 +5,53 @@ import fr.monkhanny.dorfromantik.utils.FontManager;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* Composant personnalisé pour afficher un titre stylisé.
|
||||
* Cette classe étend {@link JLabel} et permet de créer des titres centrés avec une police et une couleur personnalisées.
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Khalid CHENOUNA
|
||||
*/
|
||||
public class Title extends JLabel {
|
||||
|
||||
/**
|
||||
* Crée un titre avec un texte, une taille de police et des styles par défaut.
|
||||
* Le texte est centré, et la couleur par défaut est blanche.
|
||||
*
|
||||
* @param text Texte à afficher dans le titre
|
||||
* @param fontSize Taille de la police du titre
|
||||
* @see JLabel
|
||||
*/
|
||||
public Title(String text, float fontSize) {
|
||||
super(text, SwingConstants.CENTER);
|
||||
setFont(FontManager.getTitleFont(fontSize));
|
||||
setForeground(Color.WHITE);
|
||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0));
|
||||
setFont(FontManager.getTitleFont(fontSize)); // Appliquer la police
|
||||
setForeground(Color.WHITE); // Couleur du texte
|
||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0)); // Marges
|
||||
}
|
||||
|
||||
/**
|
||||
* Crée un titre avec un texte, une taille de police et une couleur de texte personnalisée.
|
||||
* Le texte est centré, et la couleur peut être spécifiée.
|
||||
*
|
||||
* @param text Texte à afficher dans le titre
|
||||
* @param fontSize Taille de la police du titre
|
||||
* @param textColor Couleur du texte
|
||||
* @see JLabel
|
||||
*/
|
||||
public Title(String text, float fontSize, Color textColor) {
|
||||
super(text, SwingConstants.CENTER);
|
||||
setFont(FontManager.getTitleFont(fontSize));
|
||||
setForeground(textColor);
|
||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0));
|
||||
setFont(FontManager.getTitleFont(fontSize)); // Appliquer la police
|
||||
setForeground(textColor); // Appliquer la couleur personnalisée
|
||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0)); // Marges
|
||||
}
|
||||
|
||||
/**
|
||||
* Met à jour la taille de la police du titre.
|
||||
* Cette méthode permet de changer dynamiquement la taille de la police utilisée.
|
||||
*
|
||||
* @param fontSize Nouvelle taille de la police
|
||||
*/
|
||||
public void updateTitleFont(float fontSize) {
|
||||
setFont(FontManager.getTitleFont(fontSize));
|
||||
setFont(FontManager.getTitleFont(fontSize)); // Mise à jour de la police
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user