Qu’est-ce que FlexGanttFX ?
FlexGanttFX est un contrôle personnalisé très puissant et sophistiqué pour les applications JavaFX. Il permet d’afficher des données liées à une timeline de manière visuelle et attractive. FlexGanttFX permet l’édition / modification des données, et donc aux utilisateurs d’effectuer des opérations de planification et d’ordonnancement. FlexGanttFX n’inclut aucune logique métier : c’est à l’application de réagir correctement lorsqu’un utilisateur effectue un changement.
Que puis-je créer avec FlexGanttFX ?
Vous pouvez créer tout type d’application nécessitant l’affichage d’activités sous une timeline. Dans la plupart des cas, nos clients l’utilisent pour développer des applications de planification et d’ordonnancement. Exemples : systèmes ERP, systèmes de gestion de production, etc.
FlexGanttFX est-il open source ?
Non, FlexGanttFX est un logiciel commercial. Les entreprises peuvent acquérir des licences afin de l’utiliser et de le déployer comme partie intégrante de leurs solutions.
Quelles versions de Java FlexGanttFX prend-il en charge ?
FlexGanttFX prend en charge Java 8 à Java 26. La version Java 11+ peut être exécutée avec OpenJFX version 11 ou supérieure.
Quelles versions de JavaFX / OpenJFX FlexGanttFX prend-il en charge ?
Pour Java 8, FlexGanttFX fonctionne avec la version JavaFX fournie avec le JDK. Pour Java 11 à 26, FlexGanttFX peut être exécuté avec OpenJFX version 11 ou supérieure.
Comment ajouter FlexGanttFX à mon projet ?
La distribution FlexGanttFX inclut un dossier lib. Les quatre fichiers JAR qu’il contient doivent être ajoutés au classpath ou au module path de votre application. De plus, un dossier nommé « ext » contient deux fichiers JAR également requis. L’un correspond à la version de ControlsFX nécessaire à FlexGanttFX, l’autre sert à prendre en charge les clés de licence.
Existe-t-il une version Swing de FlexGanttFX ?
Oui. Elle s’appelle FlexGantt et existe depuis de nombreuses années. Vous pouvez la
télécharger depuis le site web DLSC. C’est également un produit commercial qui nécessite une licence, tout comme FlexGanttFX.
Existe-t-il une version JavaScript de FlexGanttFX ?
Notre partenaire AISO a réimplémenté l’API FlexGanttFX en JavaScript. Nous vous recommandons de consulter leur
site produit. C’est également un produit commercial qui nécessite une licence, tout comme FlexGanttFX.
FlexGanttFX fonctionne-t-il dans des navigateurs comme Chrome ou Safari ?
FlexGanttFX fonctionne-t-il sur des appareils mobiles comme iPad, iPhone, Android, etc. ?
FlexGanttFX fonctionne-t-il sur des appareils embarqués ?
Nous le pensons, car Java et JavaFX fonctionnent sur des appareils embarqués. Pour être transparent, nous n’avons toutefois pas encore rencontré ce cas d’utilisation. Aucun client ne l’a demandé jusqu’à présent. Si vous souhaitez le faire, essayez et tenez-nous informés.
Proposez-vous différentes façons de disposer les données de timeline / les activités ?
Oui. FlexGanttFX prend en charge trois layouts différents. Le plus utilisé est le layout standard de diagramme de Gantt, dans lequel les activités sont affichées sous forme de barres horizontales. Les applications peuvent également afficher des graphiques / histogrammes via le chart layout. Un layout très particulier est l’agenda layout, où les activités sont affichées comme dans une vue calendrier classique, l’axe Y représentant l’heure de la journée.
FlexGanttFX prend-il en charge l’impression ?
Pas vraiment. Par le passé, nous avons constaté que la plupart des applications n’avaient pas besoin de cette fonctionnalité et que l’utilisabilité d’un diagramme de Gantt complexe imprimé est assez limitée. Très souvent, les exigences pour la version imprimée étaient très différentes de celles de la version à l’écran. Nous avons donc décidé de laisser cette tâche aux applications utilisant FlexGanttFX. La seule possibilité actuellement est d’utiliser l’approche d’impression standard de JavaFX, où l’application crée un snapshot de la vue et l’envoie à l’imprimante.
Puis-je synchroniser le défilement entre plusieurs diagrammes de Gantt (écran partagé) ?
Oui, simplement en liant des propriétés entre deux instances de diagramme de Gantt ou plus. Nous l’avons toutefois déjà fait pour vous et avons ajouté des conteneurs spécialisés permettant d’afficher deux, quatre ou n’importe quel nombre de graphiques en même temps. Ces conteneurs s’appellent DualGanttChartContainer, QuadGanttChartContainer et MultiGanttChartContainer.
Comment l’utilisateur peut-il faire défiler la timeline ?
L’utilisateur peut faire défiler via des barres de défilement affichées en bas de la partie droite du diagramme de Gantt. Deux types de barres de défilement sont pris en charge : une barre classique pour un horizon temporel fixe (heure la plus ancienne et la plus récente) et une barre personnalisée basée sur le PlusMinusSlider du projet ControlsFX, permettant de défiler indéfiniment vers le passé et le futur. Par défaut, ces barres se masquent automatiquement et n’apparaissent que lorsque l’utilisateur déplace le curseur de la souris vers le bord inférieur de la zone graphique (désactivable). L’utilisateur peut aussi faire défiler par « panning », en appuyant sur le fond puis en faisant glisser vers la gauche ou la droite.
Le drag & drop est-il pris en charge ?
Oui. Vous pouvez faire glisser des activités entre des diagrammes de Gantt dans la même fenêtre, ou plus nativement entre différentes fenêtres ou vers le desktop. Tout cela est configurable.
Est-il possible d’ajouter des contrôles aux lignes ?
Oui. Un callback de fabrique de contrôles peut être enregistré et sera invoqué par chaque ligne. Les contrôles retournés seront placés au-dessus de la ligne. Une autre fonctionnalité intéressante permet d’ajouter une interface entièrement différente pour chaque ligne, visible lorsque la ligne est retournée : cette interface est en fait « derrière » la ligne et apparaît à la demande.
Quels types de licences sont disponibles ?
Nous proposons deux types de licences : une licence développeur et une licence runtime. La licence développeur devient nécessaire une fois la période d’essai de 30 jours expirée. Elle vous permet de continuer à utiliser le produit, mais un message dans la console indique qu’il ne peut être utilisé qu’à des fins de développement. Lorsque votre produit est prêt à être publié, vous devez utiliser une licence runtime. Cela s’applique que la publication soit interne ou destinée à un tiers.
Où puis-je acheter une licence ?
Vous pouvez commander directement auprès de
DLSC Software & Consulting GmbH. Il suffit de
nous envoyer un e-mail.
Comment définir la clé de licence ?
Vous devez appeler FlexGanttFX.setLicenseKey("...") avant de créer tout contrôle FlexGanttFX. Idéalement, appelez cette méthode immédiatement dans la méthode main() de votre application. Vous pouvez également transmettre la clé comme propriété système nommée flexganttfx.license.
Puis-je modifier le comportement d’édition des activités ?
Oui. Un callback peut être enregistré pour spécifier précisément quand chaque opération d’édition devient active. Le callback par défaut permet à l’utilisateur de modifier l’heure de début lorsque le curseur se trouve sur le bord gauche d’une activité, de modifier l’heure de fin lorsque le curseur est sur le bord droit, et de déplacer toute l’activité lorsque le curseur est au centre. Si l’activité est « complétable », le bord gauche déclenche une opération d’édition permettant de modifier la valeur de « pourcentage terminé » de l’activité.
Puis-je modifier l’apparence visuelle des activités ?
Absolument. Les activités dans FlexGanttFX sont dessinées via l’API Canvas de JavaFX. Différents renderers d’activité peuvent être enregistrés pour différents types d’activités. Les renderers peuvent utiliser les informations fournies par l’activité (par ex. un « statut ») pour dessiner l’activité différemment. Ils vous donnent le contrôle de chaque pixel à l’écran.
Puis-je ajouter des informations visuelles aux lignes ?
Oui, cela se fait via des « system layers ». FlexGanttFX est livré avec un ensemble standard de ces couches, par exemple CalendarLayer, qui sait dessiner des éléments comme les week-ends (fond gris). Autre exemple : GridLinesLayer, qui sait dessiner les lignes de grille définies par la timeline en haut.
FlexGanttFX prend-il en charge les couches ?
Oui, les couches sont des éléments de premier plan dans FlexGanttFX. Vous pouvez placer des activités sur différentes couches, ce qui permet de superposer à vos activités principales des activités secondaires servant simplement à les annoter. Les couches peuvent être affichées ou masquées à tout moment. Une API permet également de modifier leur ordre. La barre d’outils standard du diagramme de Gantt fournit une interface permettant de manipuler l’ordre et la visibilité des couches.
La timeline est-elle personnalisable ?
Oui. La timeline se compose de deux sous-composants. Le premier, la dateline, sert à afficher le temps réel / les dates / les heures. Une fabrique de cellules enfichable est utilisée pour créer son interface. Le second sous-composant est l’eventline. Elle affiche des curseurs temporels, mais aussi une unique « ligne figée » où les applications peuvent afficher des activités et événements globaux. Ceux-ci peuvent être personnalisés via des renderers enfichables.