ProgressBar
Barre de progression horizontale avec label et affichage du pourcentage optionnel.
package ca.tawess123.apocalyinterface.api.widget;
Builder
ProgressBar bar = ProgressBar.builder()
.value(DataSource<Float> source) // progression [0.0–1.0] (requis)
.value(float v) // raccourci statique
.labelKey(String key) // clé i18n du label
.showPercent(boolean show) // afficher "Label X%" (défaut : true)
.fillColor(int color) // couleur de remplissage
.backgroundColor(int color) // couleur du fond
.visibleIf(boolean visible) // visibilité conditionnelle
.build();
Options du builder
| Option | Type | Défaut | Description |
|---|---|---|---|
.value(DataSource<Float>) | DataSource<Float> | — | Progression entre 0.0 et 1.0. Requis (une des deux formes). |
.value(float) | float | — | Raccourci pour valeur statique. Requis (une des deux formes). |
.labelKey(String) | String | null | Clé i18n du label affiché. |
.showPercent(boolean) | boolean | true | Affiche le pourcentage à droite du label ("Label 75%"). Si false, le label seul est affiché. |
.fillColor(int) | int (ARGB) | ApocalyColors.ACCENT | Couleur de remplissage de la barre. |
.backgroundColor(int) | int (ARGB) | ApocalyColors.PANEL_BG | Couleur du fond (partie non remplie). |
.visibleIf(boolean) | boolean | true | Masque la barre si false (0 px). |
Hauteur
14 px.
Exemple
import ca.tawess123.apocalyinterface.api.theme.ApocalyColors;
import ca.tawess123.apocalyinterface.api.widget.ProgressBar;
// Barre de XP — valeur statique, affichage pourcentage
root.add(ProgressBar.builder()
.value(0.65f)
.labelKey("monmod.bar.xp")
.showPercent(true)
.build());
// Barre de membres — valeur dynamique, couleur verte
root.add(ProgressBar.builder()
.value(() -> membres / (float) maxMembres)
.labelKey("monmod.bar.membres")
.fillColor(ApocalyColors.SUCCESS)
.build());
// Barre de vie — rouge, sans label
root.add(ProgressBar.builder()
.value(0.30f)
.fillColor(ApocalyColors.DANGER)
.showPercent(false)
.build());
// Barre de disponibilité stock — sans pourcentage
root.add(ProgressBar.builder()
.value(0.75f)
.labelKey("monmod.bar.stock")
.showPercent(false)
.build());
Couleurs recommandées par usage
| Usage | .fillColor() |
|---|---|
| Progression standard | ApocalyColors.ACCENT (défaut) |
| Santé, membres | ApocalyColors.SUCCESS |
| Vie critique, danger | ApocalyColors.DANGER |
| Expérience, réputation | ApocalyColors.GOLD |