Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/03/2019, à 21:55

Mic19

[Résolu]javafx sous openJDK

Bonsoir , j'ai installé java et openJDK 10 sous ubuntu et j'aimerai savoir si javaFX est inclus dans openJDK 10 ou il faut absolument installer Oracle Java pour avoir javaFX ?

Dernière modification par Mic19 (Le 16/04/2019, à 15:28)

Hors ligne

#2 Le 25/03/2019, à 22:18

xubu1957

Re : [Résolu]javafx sous openJDK

Bonjour,

Tente la commande :

Le 21/02/2019, inbox a écrit :

Dans ce cas, passe la commande suivante dans terminal :

sudo apt install openjfx

Et donne le retour entre balises code : bouton https://forum.ubuntu-fr.org/img/fluxtoo … bt_pre.png au dessus de la zone de réponse.

proposée dans > Installation de javaFx pour serveur minecraft palladium


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#3 Le 25/03/2019, à 22:50

Mic19

Re : [Résolu]javafx sous openJDK

michael@michael-Latitude-E7250:~$ sudo apt install openjfx
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
openjfx est déjà la version la plus récente (8u161-b12-1ubuntu2).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  javascript-common libjs-jquery libjs-modernizr libjs-underscore
  libqt5designer5 libqt5help5 libqt5multimedia5 libqt5multimediawidgets5
  libqt5opengl5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5
  libqt5sensors5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5webchannel5
  libqt5webkit5 libqt5xml5 python3-pyqt5 python3-pyqt5.qtmultimedia
  python3-pyqt5.qtopengl python3-pyqt5.qtsvg python3-pyqt5.qtwebkit
  python3-qtpy python3-sip xxdiff
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 11 non mis à jour.

En fait, l'origine de mon problème est qu'ne codant sur emacs en java , j'ai importer une classe de javafx "import javafx.beans.property.SimpleStringProperty;" mais j'ai l'impression qu'il ne le reconnais pas ou qu'il ne le trouve pas parce que ça me met une erreur quand je compile du coup je me demandais si javafx n'était pas vraiment installé mais pourtant il m'a bien l'air d'être là.

Dernière modification par Mic19 (Le 25/03/2019, à 22:58)

Hors ligne

#4 Le 26/03/2019, à 00:36

Mic19

Re : [Résolu]javafx sous openJDK

J'ai crée une classe Joueur et du coup voilà ce qui se passe lorsque je compile.A mon avis il doit y avoir quelque chose à installer que j'ai dû loupé...

michael@michael-Latitude-E7250:~/Java/JeuxEtHex$ javac Joueur.java 
Joueur.java:4: error: package javafx.beans.property does not exist
import javafx.beans.property.SimpleStringProperty;
                            ^
Joueur.java:5: error: package javafx.beans.property does not exist
import javafx.beans.property.StringProperty;
                            ^
Joueur.java:9: error: cannot find symbol
        protected StringProperty nom = new SimpleStringProperty();
                  ^
  symbol:   class StringProperty
  location: class Joueur
Joueur.java:3: error: package javafx.beans does not exist
import javafx.beans.*;
^
Joueur.java:9: error: cannot find symbol
        protected StringProperty nom = new SimpleStringProperty();
                                           ^
  symbol:   class SimpleStringProperty
  location: class Joueur
5 errors
michael@michael-Latitude-E7250:~/Java/JeuxEtHex$ java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

Dernière modification par Mic19 (Le 26/03/2019, à 00:37)

Hors ligne

#5 Le 26/03/2019, à 07:09

xubu1957

Re : [Résolu]javafx sous openJDK

Bonjour,

Vu au #3 :

11 non mis à jour

Lance :

sudo apt full-upgrade

_ _ _

Pour le #4, j'ai trouvé ce tutoriel > fabrice-bouye.developpez.com/tutoriels/javafx/evenement-invalidation-modification-proprietes-expressions-javafx/

Dernière modification par xubu1957 (Le 26/03/2019, à 07:20)


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#6 Le 26/03/2019, à 22:26

Mic19

Re : [Résolu]javafx sous openJDK

bonsoir , merci de votre réponse, en ce qui concerne les mises à jour j'avais déjà arrangé le truc avant de retester mais ça ne marche toujours pas donc je sais pas ce qui cloche et qu'est ce qui manque à installer pour pouvoir utiliser javaBeans . Je vais continuer à chercher sur le tutoriel que vous m'avez prescrit mais je pense pas trouver , ils expliquent surtout le fonctionnement de javaFX et javaBeans.Vous pensez que sur ce forum je peux trouver une éventuelle réponse ? SI oui dans quel sujet je lancerai la discussion?

Dernière modification par Mic19 (Le 26/03/2019, à 22:27)

Hors ligne

#7 Le 26/03/2019, à 22:39

xubu1957

Re : [Résolu]javafx sous openJDK

Bonjour,

C'est pour un jeu ?

Tu as cherché avec le nom du jeu ?


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#8 Le 27/03/2019, à 17:11

Mic19

Re : [Résolu]javafx sous openJDK

Bonsoir ,
Oui en fait je m'occupe d'une partie du code en l'occurence celui d'un des minis-jeux que l'on a à coder avec mes partenaires.On code 3 minis jeux sur les graphes qui héritent de classe asbtraite de jeu.Et en fait j'ai juste voulu compiler ce qu'elles ont mis dans les classes du début (Graphes,Sommet,Arete,Joueur,Jeu..) afin de pouvoir tester si mon code marchait bien (Jeu hex pour moi), mais en compilant je retrouve les erreurs au dessus.Les personnes qui ont fait le début en question de ces classes codent sur eclipse, donc du coup chez elles ça compilait.Mais moi je préfère travailler sur emacs , à mon avis il doit y avoir quelque chose à installer mais je ne vois pas .

Hors ligne

#9 Le 27/03/2019, à 17:21

xubu1957

Re : [Résolu]javafx sous openJDK

Bonsoir,

Je n'ai pas de connaissance en matière de codage.

C'est pas à ma portée.


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#10 Le 27/03/2019, à 17:26

Mic19

Re : [Résolu]javafx sous openJDK

Oui pas de problème mais est-ce que vous pensez que ça peut provenir du fait que je n'ai pas installé Oracle java mais seulement openJDK? Par ailleurs , est-il possible d'installer Oracle Java même si j'ai déja installer java 11 avec openJDK ?

Hors ligne

#11 Le 27/03/2019, à 17:36

xubu1957

Re : [Résolu]javafx sous openJDK

Il faudrait des avis d'aidants de bon niveau.


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#12 Le 27/03/2019, à 17:41

Mic19

Re : [Résolu]javafx sous openJDK

Ok merci de tes réponses .

Hors ligne

#13 Le 27/03/2019, à 17:51

soshy

Re : [Résolu]javafx sous openJDK

Salut,
il faut lui indiquer où trouver la classe javafx.beans.property.StringProperty.

De toute évidence, elle n'est pas dans le classpath par défaut lorsque tu compiles. Donc tu peux faire comme ça :

sudo apt install libopenjfx-java
javac -cp '/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar' Joueur.java

La première commande installe les lib de développement openjfx dont jfxrt.jar, qui contient la classe qu'il te manque. La seconde permet de compiler ta classe en ajoutant la dite lib au classpath du compilateur, pour qu'il prenne en compte son contenu qui inclu javafx.beans.property.StringProperty

Après, il serait peut être mieux d'ajouter au classpath toutes les dépendances qui viennent avec le paquet libopenjfx-java des fois que tu utiliserais des composants venant d'autres jar liés à javafx. Donc faire :

javac -cp '/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar:/usr/share/java/openjfx/jre/lib/javafx.properties:/usr/share/java/openjfx/jre/lib/jfxswt.jar:/usr/share/java/openjfx/lib/ant-javafx.jar:/usr/share/java/openjfx/lib/javafx-mx.jar:/usr/share/java/openjfx/lib/packager.jar' Joueur.java

Dernière modification par soshy (Le 27/03/2019, à 18:01)

Hors ligne

#14 Le 27/03/2019, à 18:09

Mic19

Re : [Résolu]javafx sous openJDK

Salut soshy ,merci beaucoup pour ta réponse mais j'aimerai comprendre ce que  cela veut dire exactement:

soshy a écrit :

Après, il serait peut être mieux d'ajouter au classpath toutes les dépendances qui viennent avec le paquet libopenjfx-java des fois que tu utiliserais des composants venant d'autres jar liés à javafx. Donc faire :

javac -cp '/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar:/usr/share/java/openjfx/jre/lib/javafx.properties:/usr/share/java/openjfx/jre/lib/jfxswt.jar:/usr/share/java/openjfx/lib/ant-javafx.jar:/usr/share/java/openjfx/lib/javafx-mx.jar:/usr/share/java/openjfx/lib/packager.jar' Joueur.java

A chaque fois que je vais vouloir compiler j'aurai besoin de remettre tout cela ? Je viens de tester , il faut pas seulement mettre la classe Joueur à compiler mais toutes celles qui y sont à cotés et qui utilisent Joueur, vu que Joueur est utilisé dans Jeu, Jeu utilise Gaphe, Graphe utilise Sommet ..
Autre chose, vu que tu es là j'en profite pour t'interroger sur une autre erreur si cela ne te dérange pas smile lorsque je compile ma classe Graphe j'ai une erreur que je n'ai jamais obtenu, pourrais-tu me dire si ça te dis quelque chose:

michael@michael-Latitude-E7250:~/Java/JeuxEtHex$ javac Graphe.java 
Note: Graphe.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Merci à toi

Dernière modification par Mic19 (Le 27/03/2019, à 18:11)

Hors ligne

#15 Le 28/03/2019, à 10:41

soshy

Re : [Résolu]javafx sous openJDK

j'aimerai comprendre ce que  cela veut dire exactement:

Si tu utilises des composants javafx provenant de jfxswt.jar, je me dit qu'il est possible que tu utilises d'autres composants jfx mais provenant d'autres jar. Mais si tu n'as pas de problème de compilation tu n'as pas à les utiliser. J'avais pensé à un autre cas, justifiant d'ajouter toutes les autres jar, mais après réflexion, ce n'était pas pertinent.

A chaque fois que je vais vouloir compiler j'aurai besoin de remettre tout cela ?

Oui. A chaque fois que tu as une classe à compiler qui utilise un import de jfxswt.jar, il faudra que cette lib soit présente dans le classpath lors de la compilation.

il faut pas seulement mettre la classe Joueur à compiler mais toutes celles qui y sont à cotés et qui utilisent Joueur, vu que Joueur est utilisé dans Jeu, Jeu utilise Gaphe, Graphe utilise Sommet ..

Exactement. Là tu fais la compilation à la main, et je ne sais pas vraiment t'indiquer une bonne façon de procéder. En entreprise tout est automatisé au niveau compilation, on configure un outil (il en existe plusieurs) et ensuite un clique ou une commande fait tout. Par exemple, si tu utilises eclipse et que ton projet et bien configuré, il peut te recompiler ton projet à chaque sauvegarde de fichier et tu as un raccourcis pour éxecuter ton projet dans l'interface. Mais il faut reconnaitre qu'eclipse c'est assez gros, complexe, et qu'à prendre en main la première fois peut être compliqué. Mais c'est quand même hyper puissant.

lorsque je compile ma classe Graphe j'ai une erreur que je n'ai jamais obtenu

Ce n'est pas une erreur mais un warning. Le warning n'empêche pas la compilation, c'est juste pour attirer l'attention du développeur sur une erreur potentielle ou une mauvaise pratique par exemple. Sans voir le code, je ne peux pas te dire à quoi c'est dû.
Tu peux aussi recompiler ta classe Graphe avec l'option indiqué

javac -Xlint:unchecked Graphe.java

Ce qui devrait te donner plus d'indication sur le warning.

Dernière modification par soshy (Le 28/03/2019, à 10:51)

Hors ligne

#16 Le 31/03/2019, à 14:24

Mic19

Re : [Résolu]javafx sous openJDK

Salut Soshy, désolé de répondre aussi tardivement , merci de prendre de ton temps pour me répondre c'est gentil ,ensuite est ce-que si je te montre les warning lors de la compilation avec -Xlint.. tu pourrais m'aider à les faire disparaitre? En fait je pense que les warning concerne surtout les cast d'après ce que j'ai vu donc du coup je pense que je vais mettre le projet sur éclipse mais sinon j'aurai quand même voulu tester d'éxécuter le code comme je l'avais tenter dès le départ .
Sinon je viens de mettre éclipse et j’ai l’impression que javafx n’est pas inclus car il ne reconnait pas lorsque j’importe des librairies de javafx est ce que tu aurais une idée de la raison?

Dernière modification par Mic19 (Le 31/03/2019, à 22:43)

Hors ligne

#17 Le 01/04/2019, à 10:35

soshy

Re : [Résolu]javafx sous openJDK

si je te montre les warning lors de la compilation avec -Xlint.. tu pourrais m'aider à les faire disparaitre?

Oui probablement

En fait je pense que les warning concerne surtout les cast

C'est tout à fait possible en effet.

je viens de mettre éclipse et j’ai l’impression que javafx n’est pas inclus

Oui, dans la configuration de ton projet faut ajouter des fichiers jar (donc au moins celui ci : jfxrt.jar) au "build path". C'est comme ajouter le "-cp xxx" à la ligne de commande. Je pense qu'avec les explications ici tu devrais y arriver.

Dernière modification par soshy (Le 01/04/2019, à 10:36)

Hors ligne

#18 Le 05/04/2019, à 01:17

Mic19

Re : [Résolu]javafx sous openJDK

Bonsoir , désolé une nouvelle fois pour ma réponse tardive je suis beaucoup occupé en ce moment, merci de tes réponses une nouvelle fois soshy, du coup j'ai mis le projet sur éclipse ça marche beaucoup mieu en effet c'est ultra puissant mais j'ai de tout de même envie de savoir comment compiler à la main .Du coup voici les warning retournés lors de la compilation :

michael@michael-Latitude-E7250:~/Java/JeuxEtHex$ javac -cp '/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar:/usr/share/java/openjfx/jre/lib/javafx.properties:/usr/share/java/openjfx/jre/lib/jfxswt.jar:/usr/share/java/openjfx/lib/ant-javafx.jar:/usr/share/java/openjfx/lib/javafx-mx.jar:/usr/share/java/openjfx/lib/packager.jar' -Xlint:unchecked Joueur.java Jeu.java Graphe.java Arete.java Sommet.java Parcours.java 
Graphe.java:320: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
				sommetList.add( (Object)cur_som ) ;
				              ^
  where E is a type-variable:
    E extends Object declared in class Vector
Graphe.java:324: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
				adjList.add( (Object)sommetAdjList ) ;
				           ^
  where E is a type-variable:
    E extends Object declared in class Vector
Graphe.java:364: warning: [unchecked] unchecked call to addLast(E) as a member of the raw type LinkedList
				    sommetAdjList.addLast( (Object) cur_arete ) ;
				                         ^
  where E is a type-variable:
    E extends Object declared in class LinkedList
Graphe.java:366: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
				    areteList.add( (Object)cur_arete ) ;
				                 ^
  where E is a type-variable:
    E extends Object declared in class Vector
Graphe.java:368: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
		                    areteListInv.add( (Object)new Arete( endSommet, startSommet, poids));
		                                    ^
  where E is a type-variable:
    E extends Object declared in class Vector
Graphe.java:412: warning: [unchecked] unchecked call to addLast(E) as a member of the raw type LinkedList
				    sommetAdjList.addLast( (Object) cur_arete ) ;
				                         ^
  where E is a type-variable:
    E extends Object declared in class LinkedList
Graphe.java:414: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
				    areteList.add( (Object)cur_arete ) ;
				                 ^
  where E is a type-variable:
    E extends Object declared in class Vector
Graphe.java:416: warning: [unchecked] unchecked call to addLast(E) as a member of the raw type LinkedList
				    sommetAdjList.addLast((Object) cur2_arete);
				                         ^
  where E is a type-variable:
    E extends Object declared in class LinkedList
Graphe.java:417: warning: [unchecked] unchecked call to add(E) as a member of the raw type Vector
				    areteList.add((Object)cur2_arete);
				                 ^
  where E is a type-variable:
    E extends Object declared in class Vector
9 warnings

En fait pour éclipse ce qui fallait juste changer c'était de le mettre en java SE-8 parce que en 10 ça ne reconnaissait pas d'ailleurs je sais toujours pas pourquoi ..

Hors ligne

#19 Le 05/04/2019, à 11:12

soshy

Re : [Résolu]javafx sous openJDK

Vu les warnings, j'imagine le code.

Première remarque, tu sembles utiliser des Vector. A moins d'avoir une bonne raison, la bonne pratique c'est d'utiliser des listes. De plus, tes Vector ne sont pas typés, et c'est l'origine de tes warnings.

Tu as probablement un truc comme ça :

Vector areteList = new Vector();

Première chose, qui tiens plus de la bonne pratique, tu vas remplacer ton Vector par une implémentation de l'interface List.
Donc tu vas avoir un truc du genre :

List aretes = new ArrayList();

ou

List aretes = new LinkedList();

ou une autre implémentation de ton choix. Tu pourrais aussi faire :

ArrayList aretes = new ArrayList();

A moins d'avoir une bonne raison et de devoir utiliser des méthodes spécifiques à l'ArrayList, il est préférable de déclarer ta variable de type List et pas ArrayList, de même dans le type de retour des méthodes.

Ensuite, pour supprimer tes warnings, il faut "typer" ta liste.

List<Arete> aretes = new ArrayList<>();

ou si ta version de java est vieille (1.6 par exemple)

List<Arete> aretes = new ArrayList<Arete>();

Comme ça, tu vas dire que dans ta liste "aretes", tu n'y mettra que des objets de type Arete, ou des implémentation de l'interface Arete, ou des classes qui étendent le type Arete.
Comme en java toutes les classes sont des dérivés d'Object, lorsque tu ne types pas la liste, par défaut, c'est une liste de type implicite Object dans laquelle tu peux mettre n'importe quoi. En spécifiant un type à ta liste, si tu tentes de faire :

List<Arete> aretes = new ArrayList<Arete>();
aretes.add(new Point());

Et que Point est une classe qui n'hérite pas de Arete, tu auras une erreur de compilation. Sans le typage, tu aurais un warning et potentiellement une erreur de code.

Dernière chose, en général on ne met pas le mot "list" le le nom d'une variable qui contient une liste d'objets, on a plutôt tendance à le mettre au pluriel comme j'ai fais dans mes exemples.

Dernière modification par soshy (Le 05/04/2019, à 12:35)

Hors ligne

#20 Le 16/04/2019, à 15:26

Mic19

Re : [Résolu]javafx sous openJDK

Salut Soshy , merci beaucoup pour tes réponses , j'ai compris les problèmes .

Hors ligne