Préambule :

  • Tout ce tutoriel est basé sur un ordinateur avec une distribution type debian/ubuntu, un SDK Java du type openjdk+openjfx 11 ou bien 17, et l'IDE Intellij IDEA.
  • Ces hypothèses sont valables notamment pour les machines du département.
  • Si vous utilisez votre propre ordinateur sous windows/mac, les procédures d'installation logicielle seront relativement semblables mais avec des différences notables, par exemple dans les chemins d'accès aux éléments installés.
  • De même, si vous installez un sdk ou une version de javaFx différente > 17, vous vous exposez à des incompatibilités avec le framework boardifier.

1°/ Mise en place logicielle

 

1.1°/ java et openjfx 11/17

IMPORTANT : cette mise en place n'est valable que pour votre ordinateur personnel. Les machines du département ont déjà le JDK 11 d'installé.

 Pour la v11 :

  • La v11 est normalement disponible dans les dépots debian/ubuntu.
  • Il suffit donc en tant que root d'installer les paquets openjdk-11-jdk et openjfx:
apt-get install openjdk-11-jdk openjfx
  •  Le compilateur et la JVM sont installés et se trouvent dans /usr/lib/jvm/java-11-openjdk-amd64/bin
  • Les bilbliothèques javafx sont dans /usr/share/openjfx/lib
  • Ces informations sont nécessaires pour configurer IDEA.

 

 Pour la v17 :

  • Pour java, il suffit d'installer le paquet openjdk-17-jdk
apt-get install openjdk-17-jdk
  • Pour openjfx, le plus simple est d'aller sur le site qui distribue openjfx : https://gluonhq.com/products/javafx/
  • Il suffit de choisir dans les listes déroulantes : v17 et l'OS qui vous convient.
  • Attention ! Il faut ensuite bien télécharger la version SDK. Vous obtenez une archive .zip
  • Sous linux, en tant que root, décompacter l'archive dans /usr/share/
  • Vous obtenez un répertoire du style /usr/share/javafx-sdk-17.0.10.
  • Lors de la configuration d'un projet IDEA, c'est ce répertoire qu'il faut choisir (plutôt que /usr/share/openjfx)

 

 

1.2°/ Créer l'arborescence du projet

  • Il suffit de créer un répertoire pour le projet et de décompresser l'archive contenant les sources du tutoriel dedans : [ télécharger ] (NB : lien non disponible pour cause de maintenance de boardifier)

 

  • L'archive contient un répertoire src avec des canevas de code et le framework boardifier.
  • Exemple :
mkdir TutoBoardifier
mv boardgamecanvas.tgz  TutoBoardifier
cd TutoBoardifier
tar zxf boardgamecanvas.tgz
rm boardgamecanvas.tgz

 

2°/ Le projet IDEA

2.1°/ Création d'un nouveau projet, incluant les sources existantes

 

Remarque : ce tutoriel se base sur une version 11 de Java & JavaFx. La procédure est la même pour la v17, à part certains répertoires qui ne sont pas les mêmes.

  •  Lancer IDEA,
  • Cliquer sur New Project
  • Dans la fenêtre qui apparaît :
    • choisir dans la liste de gauche "Java"
    • en haut à droite, il y a une liste déroulante permettant de sélectionner le SDK. si elle indique Java 11, c'est OK. Sinon, cliquer sur la liste afin de choisir Java 11.
    • si Java 11 n'apparaît pas dans les possibilités, c'est que IDEA ne détecte pas tout seul ce JDK. Dans ce cas, cliquer sur Add JDK et parcourez l'arborescence des fichiers pour sélectionner le répertoire /usr/lib/jvm/java-11-openjdk-amd64.
  • Cliquer sur Next 2 fois.
  • Dans la fenêtre de sélection du nom & répertoire du projet, cliquer sur le bouton à droite du répertoire et dans l'arborescence, sélectionner le répertoire contenant le projet (TutoBoardifier dans l'exemple de la section précédente).
  • Cliquer sur Finish.
  • La fenêtre générale du projet s'ouvre avec à gauche l'aborescence du projet et au centre le contenu du fichier couramment édité.
  • Développer le répertoire src et cliquer sur TutoBoardifier.

 

  • Normalement, toutes les instructions en rapport avec javafx ne sont pas reconnues par IDEA et apparaissent en rouge, comme dans la figure ci-dessous

tuto idea 1

  •  Il faut donc configurer IDEA pour qu'il reconnaisse les classes javaFx mais aussi pour qu'il permette de construire l'application et de la lancer correctement.

 

2.2°/ Configuration du projet

  • La configuration se fait en 3 étapes :
    1. configurer les paquets et sources de javafx comme faisant partie des bibliothèques utilisables par IDEA,
    2. mettre javaFx en dépendance du projet,
    3. création d'une configuration de compilation/exécution.

ATTENTION !

  • La première étape n'a pas besoin d'être faite pour chaque projet javafx, seulement le premier que vous créez sous IDEA.
  • Lors de cette première étape, IDEA vous demande s'il doit faire l'étape 2 pour vous. C'est une bonne idée d'approuver !

 

  • Pour les projets suivants, il suffit de suivre les étapes 2 & 3 puisque IDEA connaîtra déjà le chemin d'accès à javafx.

 

2.2.1°/ étape 1 : chemin d'accès à javafx

 

  • Cliquer sur le menu File puis Project Structure.
  • Dans la fenêtre qui apparaît, cliquer sur Global Libraries dans le menu de gauche, en bas.
  • Cliquer sur le bouton +
  • Choisir l'item "Java"

tuto idea 2

 

  • Un navigateur de fichier apparaît.
  • Sélectionner le répertoire /usr/share/openjfx/lib. (ou /usr/share/javafx-sdk-17.0.10. pour la v17)
  • Cliquer sur OK

tuto idea 3

 

  • IDEA demande ensuite s'il faut intégrer cette bibliothèque dans le projet courant.
  • Cliquer sur OK pour approuver.
  • Cela permet de faire automatiquement l'étape 2.

tuto idea 4

 

  • La fenêtre initiale contient maintenant à droite la liste des élément ajoutés

tuto idea 5

 

  • Changer le nom de la bibliothèque pour qu'elle soit plus explicite,
  • Par exemple lib javafx 11 (ou lib javafx 17)
tuto idea 5.1

 

  • Cliquer sur OK pour finaliser et revenir à la fenêtre principale.
  • Le code en rouge a disparu.

 

2.2.2°/ étape 2 : mettre javafx en dépendance du projet

 

  • Cliquer sur le menu File puis Project Structure.
  • Dans la fenêtre qui apparaît, cliquer sur Modules dans le menu de gauche, vers le haut.
  • Dans la partie droite de la fenêtre, cliquer sur l'onglet Dependencies.

tuto idea 6

 

  • cliquer sur le +, puis choisir Library

tuto idea 7

 

  • Choisir dans la liste la bibliothèque correspondant à javaFx.
  • Dans la figure ci-dessous, le nom est simplement lib,
  • Si vous avez suivi les indications ci-dessus, vous devriez avoir lib javafx 11.
  • Cliquer sur Add selected pour l'ajouter au projet.

tuto idea 8

 

  • La partie droite de la fenêtre montre à présent que javafx a été ajouté la liste des dépendances.

tuto idea 9

 

 

  • Cliquer sur OK pour finaliser et revenir à la fenêtre principale.
  • Le code en rouge a disparu.

 

2.2.3°/ étape 3 : configuration de compilation/exécution

  • Cliquer dans la zone en haut à droite intitulée Add a configuration

tuto idea 10

 

  • Dans la fenêtre Run/Debug Configuration qui s'ouvre, cliquer sur le + en haut à gauche
  • Choisir Application

tuto idea 11

 

  • Changer le nom de la configuration dans le champ de saisie name en haut
  • Cliquer sur le champ de saisie Main class

tuto idea 12

 

  • Dans la fenêtre de dialogue qui s'ouvre, choisir la classe qui contient main(),
  • Dans ce tutoriel, c'est TutoBoardifier,

tuto idea 13

 

  • Dans la fenêtre de configuration, cliquer sur Modify options
  • Choisir Add VM options.

tuto idea 14

 

  • Un nouveau champ de saisie apparaît.
  • Dans ce champ copier/coller les options suivantes :
--module-path /usr/share/openjfx/lib --add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web

tuto idea 15

  • Terminer la configuration en cliquant sur OK
  • Cliquer sur la flèche verte en haut à droite, à côté de boardgame. Cela compile le projet puis lance l'exécution.
  • Normalement, l'application se lance.