Bonjour,

Voici pour commencer une application très simple qui contient du FX et du swing:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 
import javax.swing.JDialog;
import javax.swing.JLabel;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
 
 
public class myMain {
 
	public static void main(String[] args) {
 
 
        JDialog dlg = new JDialog();
      dlg.setSize(1000, 1000);
 
      ObservableList<String> olData = FXCollections.observableArrayList();
      olData.add("CECI vient de FX");
      olData.add("et oui de FX !");
 
 
  String myFxVersion = com.sun.javafx.runtime.VersionInfo.getRuntimeVersion().toString();
  String myJavaVersion = System.getProperty("java.runtime.version");
 
  JLabel AAfficherLbl ="**" +  new JLabel(olData.get(0).toString() + "**       Version Java =  " + myJavaVersion + "         Version FX  " + myFxVersion);
  System.out.println(AAfficherLbl.getText());
  dlg.add(AAfficherLbl);      
      dlg.setVisible(true);
 
	}
 
}
l'exécution de ce code retourne chez moi:
**CECI vient de FX** Version Java = 1.7.0_80-b15 Version FX 2.2.80-b14
Vous constaterez que la version de java est 1.7 et que FX est en 2.2.
Ce sont les versions que nous devons employer après déploiement aux fins de compatibilité avec le serveur (WebSphere) et ce sont les versions qui sont dans le java build path de mon Eclipse.

Mon but est de pouvoir déployer via JavaWebStart mais dans un premier temps, je voudrais déjà pouvoir exécuter un JAR en 1.7 et 2.2 (comme dans mon Eclipse)

Voici comment je m'y prends...

En Eclipse,
je clique droit sur mon projet
je choisis "Export"
Dans "Select an export destination", je choisis "Java" et puis "Jar file"

"monProjet", "classpath", ".project" et "build.fxbuild" sont cochés par défaut

"Export generated class files and resources" est coché (je ne coche pas "Export Java source files and resources")

Je donne un nom et une destination à mon fichier et je pousse sur "next" et encore "next" pour arriver sur

JAR Manifest Specification avec:
- je coche "Generate the manifest file" et je le nomme "MyManifest"
- je laisse le choix sur 'Seal some packages"
- j'indique le nom de ma Main class : "myMain"

et enfin, "Finish"

A ce moment, mon classPath vaut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
	<classpathentry kind="lib" path="C:/Program Files (x86)/Java/jdk1.7.0_80/jre/lib/jfxrt.jar"/>
	<classpathentry kind="output" path="bin"/>
</classpath>
et mon Manifest vaut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Manifest-Version: 1.0
Main-Class: myMain
Si maintenant je clique directement sur mon fichier SwingWithFX.jar, l'application fonctionne bien mais avec les versions installées sur mon PC.
Il s'affiche donc
CECI vient de FX Version Java = 1.8.0_71-b15 Version FX 8.0.71-b14
ce qui ne m'arrange pas du tout.

Il ne tient donc pas compte du Path qui est dans mon classPath ci-avant.

Pour pallier à cela, je fais un petit fichier.bat qui contient le path.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SET PATH="C:\Program Files (x86)\Java\jdk1.7.0_80\jre\bin"
java.exe -version
pause
java -jar SwingWithFX.jar
pause
à ce moment il exécute bien la version 1.7.0.80 de java mais comment lui dire de prendre FX 2.2 ?

Enfait il m'affiche bien dans la console la version java 1.7, mais il ne trouve plus du tout FX et me génère donc une ClassNotFoundException: javafx.collections.FXCollections


Merci d'avance pour votre aide.