Javadoc components
This commit is contained in:
@@ -5,8 +5,23 @@ import fr.monkhanny.dorfromantik.utils.FontManager;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
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 {
|
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) {
|
public static JButton createCustomTextButton(String text, float fontSize) {
|
||||||
JButton button = new JButton(text);
|
JButton button = new JButton(text);
|
||||||
button.setFocusPainted(false); // Retirer le focus
|
button.setFocusPainted(false); // Retirer le focus
|
||||||
@@ -17,8 +32,13 @@ public class Button {
|
|||||||
return 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) {
|
public static JButton createCustomIconButton(String iconPath) {
|
||||||
// Créer le bouton
|
|
||||||
JButton button = new JButton();
|
JButton button = new JButton();
|
||||||
button.setFocusPainted(false); // Retirer le focus
|
button.setFocusPainted(false); // Retirer le focus
|
||||||
|
|
||||||
@@ -29,20 +49,21 @@ public class Button {
|
|||||||
int buttonWidth = 100; // Taille du bouton (largeur)
|
int buttonWidth = 100; // Taille du bouton (largeur)
|
||||||
int buttonHeight = 100; // Taille du bouton (hauteur)
|
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 img = icon.getImage();
|
||||||
Image resizedImage = img.getScaledInstance(buttonWidth, buttonHeight, Image.SCALE_SMOOTH);
|
Image resizedImage = img.getScaledInstance(buttonWidth, buttonHeight, Image.SCALE_SMOOTH);
|
||||||
button.setIcon(new ImageIcon(resizedImage));
|
button.setIcon(new ImageIcon(resizedImage));
|
||||||
|
|
||||||
// Optionnel : changer la couleur de fond ou de bordure si nécessaire
|
// Couleur de fond (facultatif)
|
||||||
button.setBackground(new Color(102, 178, 255)); // Couleur de fond (facultatif)
|
button.setBackground(new Color(102, 178, 255));
|
||||||
|
|
||||||
// Retirer la bordure du bouton (facultatif)
|
// Retirer la bordure du bouton (facultatif)
|
||||||
button.setBorder(BorderFactory.createEmptyBorder());
|
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));
|
button.setPreferredSize(new Dimension(buttonWidth, buttonHeight));
|
||||||
|
|
||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -5,23 +5,53 @@ import fr.monkhanny.dorfromantik.utils.FontManager;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
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 {
|
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) {
|
public Title(String text, float fontSize) {
|
||||||
super(text, SwingConstants.CENTER);
|
super(text, SwingConstants.CENTER);
|
||||||
setFont(FontManager.getTitleFont(fontSize));
|
setFont(FontManager.getTitleFont(fontSize)); // Appliquer la police
|
||||||
setForeground(Color.WHITE);
|
setForeground(Color.WHITE); // Couleur du texte
|
||||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0));
|
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) {
|
public Title(String text, float fontSize, Color textColor) {
|
||||||
super(text, SwingConstants.CENTER);
|
super(text, SwingConstants.CENTER);
|
||||||
setFont(FontManager.getTitleFont(fontSize));
|
setFont(FontManager.getTitleFont(fontSize)); // Appliquer la police
|
||||||
setForeground(textColor);
|
setForeground(textColor); // Appliquer la couleur personnalisée
|
||||||
setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0));
|
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) {
|
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