Source: https://www-lisic.univ-littoral.fr/~fonlupt/Enseignement/2020/POO/javaFX1.pdf