When running this code on a fresh install of Windows XP SP3 with IE7:
------------------------------------
package net.datao;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Collection;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import com.sun.javafx.application.PlatformImpl;
/**
* SwingFXWebView
*/
public class SwingFXWebView extends JPanel {
private Stage stage;
private WebView browser;
private JFXPanel jfxPanel;
private JButton swingButton;
private WebEngine webEngine;
public SwingFXWebView() {
initComponents();
}
public static void main(String... args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
final JFrame frame = new JFrame();
frame.getContentPane().add(new SwingFXWebView());
frame.setMinimumSize(new Dimension(640, 480));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
private void initComponents() {
jfxPanel = new JFXPanel();
createScene();
setLayout(new BorderLayout());
add(jfxPanel, BorderLayout.CENTER);
swingButton = new JButton();
swingButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
webEngine.reload();
}
});
swingButton.setText("Reload");
add(swingButton, BorderLayout.SOUTH);
}
/**
* createScene
*
* Note: Key is that Scene needs to be created and run on "FX user thread"
* NOT on the AWT-EventQueue Thread
*
*/
private void createScene() {
PlatformImpl.startup(new Runnable() {
public Collection<Node> children;
public void run() {
stage = new Stage();
stage.setTitle("Hello Java FX");
stage.setResizable(false);
Group root = new Group();
Scene scene = new Scene(root, 80, 20);
stage.setScene(scene);
URL url = null;
try {
url = new URL("http://www.google.fr");
} catch (Exception ex) {
ex.printStackTrace();
}
webEngine = new WebEngine(url.toString());
browser = new WebView(webEngine);
children = root.getChildren();
children.add(browser);
jfxPanel.setScene(scene);
}
});
}
}
------------------------------------
a DLL error happens:
------------------------------------
"C:\Program Files\Java\jdk1.6.0_24\bin\java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:1367,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.6.0_24\jre\lib\alt-rt.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\alt-string.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunpkcs11.jar;C:\Documents and Settings\lolive\Mes documents\Java\WebView\out\production\WebBrowser;C:\Documents and Settings\lolive\Mes documents\Java\WebView\out\production\JavaFX;C:\Documents and Settings\lolive\Mes documents\Java\WebView\JavaFX\lib\jfxrt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 10.0.2\lib\idea_rt.jar" net.datao.SwingFXWebView
Connected to the target VM, address: '127.0.0.1:1367', transport: 'socket'
*** Fallback to Prism SW pipeline
java.lang.UnsatisfiedLinkError: C:\Documents and Settings\lolive\Mes documents\Java\WebView\JavaFX\lib\WebPaneJava.dll: Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre ce problème
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at com.sun.javafx.runtime.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:145)
at com.sun.javafx.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:85)
at com.sun.javafx.runtime.NativeLibLoader.loadLibrary(NativeLibLoader.java:30)
at com.sun.webpane.platform.WebPage$1.run(WebPage.java:152)
at com.sun.webpane.platform.WebPage$1.run(WebPage.java:114)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.webpane.platform.WebPage.<clinit>(WebPage.java:114)
at com.sun.webpane.sg.ImplementationManager.createPage(ImplementationManager.java:53)
at com.sun.webpane.sg.ImplementationManager.createPage(ImplementationManager.java:47)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:36)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:44)
at net.datao.SwingFXWebView$3.run(SwingFXWebView.java:124)
at com.sun.glass.ui.Application._invokeAndWait(Native Method)
at com.sun.glass.ui.Application.invokeAndWait(Application.java:136)
at com.sun.javafx.tk.quantum.QuantumToolkit.finishLaunching(QuantumToolkit.java:221)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:14)
at com.sun.glass.ui.win.WinApplication$1.run(WinApplication.java:31)
at java.lang.Thread.run(Thread.java:662)
Disconnected from the target VM, address: '127.0.0.1:1367', transport: 'socket'
Exception in thread "JavaFX Application Thread"
Process finished with exit code 0
------------------------------------
Using DependancyWalker on WebPaneJava.dll gives these errors:
------------------------------------
DWMAPI.DLL is missing
MSVC90.DLL is missing
------------------------------------
The dependancy paths of both these DLLs are:
------------------------------------
LIBXML2.DLL>WSOCK32.DLL>WS2_32.DLL>ADVAPI32.DLL>SECUR32.DLL>NETAPI32.DLL>DNSAPI.DLL>IPHLPAPI.DLL>MPRAPI.DLL>SETUPAPI.DLL>SHELL32.DLL>SHDOCVW.DLL>MSHTML.DLL>IEFRAME.DLL>DWMAPI.DLL
LIBXML2.DLL>MSVCR90.DLL
------------------------------------
Question:
was LIBXML2.DLL compiled to be compatible with a XP SP3/IE7 environment?
------------------------------------
package net.datao;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Collection;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import com.sun.javafx.application.PlatformImpl;
/**
* SwingFXWebView
*/
public class SwingFXWebView extends JPanel {
private Stage stage;
private WebView browser;
private JFXPanel jfxPanel;
private JButton swingButton;
private WebEngine webEngine;
public SwingFXWebView() {
initComponents();
}
public static void main(String... args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
final JFrame frame = new JFrame();
frame.getContentPane().add(new SwingFXWebView());
frame.setMinimumSize(new Dimension(640, 480));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
private void initComponents() {
jfxPanel = new JFXPanel();
createScene();
setLayout(new BorderLayout());
add(jfxPanel, BorderLayout.CENTER);
swingButton = new JButton();
swingButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
webEngine.reload();
}
});
swingButton.setText("Reload");
add(swingButton, BorderLayout.SOUTH);
}
/**
* createScene
*
* Note: Key is that Scene needs to be created and run on "FX user thread"
* NOT on the AWT-EventQueue Thread
*
*/
private void createScene() {
PlatformImpl.startup(new Runnable() {
public Collection<Node> children;
public void run() {
stage = new Stage();
stage.setTitle("Hello Java FX");
stage.setResizable(false);
Group root = new Group();
Scene scene = new Scene(root, 80, 20);
stage.setScene(scene);
URL url = null;
try {
url = new URL("http://www.google.fr");
} catch (Exception ex) {
ex.printStackTrace();
}
webEngine = new WebEngine(url.toString());
browser = new WebView(webEngine);
children = root.getChildren();
children.add(browser);
jfxPanel.setScene(scene);
}
});
}
}
------------------------------------
a DLL error happens:
------------------------------------
"C:\Program Files\Java\jdk1.6.0_24\bin\java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:1367,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.6.0_24\jre\lib\alt-rt.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\alt-string.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext\sunpkcs11.jar;C:\Documents and Settings\lolive\Mes documents\Java\WebView\out\production\WebBrowser;C:\Documents and Settings\lolive\Mes documents\Java\WebView\out\production\JavaFX;C:\Documents and Settings\lolive\Mes documents\Java\WebView\JavaFX\lib\jfxrt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 10.0.2\lib\idea_rt.jar" net.datao.SwingFXWebView
Connected to the target VM, address: '127.0.0.1:1367', transport: 'socket'
*** Fallback to Prism SW pipeline
java.lang.UnsatisfiedLinkError: C:\Documents and Settings\lolive\Mes documents\Java\WebView\JavaFX\lib\WebPaneJava.dll: Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre ce problème
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at com.sun.javafx.runtime.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:145)
at com.sun.javafx.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:85)
at com.sun.javafx.runtime.NativeLibLoader.loadLibrary(NativeLibLoader.java:30)
at com.sun.webpane.platform.WebPage$1.run(WebPage.java:152)
at com.sun.webpane.platform.WebPage$1.run(WebPage.java:114)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.webpane.platform.WebPage.<clinit>(WebPage.java:114)
at com.sun.webpane.sg.ImplementationManager.createPage(ImplementationManager.java:53)
at com.sun.webpane.sg.ImplementationManager.createPage(ImplementationManager.java:47)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:36)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:44)
at net.datao.SwingFXWebView$3.run(SwingFXWebView.java:124)
at com.sun.glass.ui.Application._invokeAndWait(Native Method)
at com.sun.glass.ui.Application.invokeAndWait(Application.java:136)
at com.sun.javafx.tk.quantum.QuantumToolkit.finishLaunching(QuantumToolkit.java:221)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:14)
at com.sun.glass.ui.win.WinApplication$1.run(WinApplication.java:31)
at java.lang.Thread.run(Thread.java:662)
Disconnected from the target VM, address: '127.0.0.1:1367', transport: 'socket'
Exception in thread "JavaFX Application Thread"
Process finished with exit code 0
------------------------------------
Using DependancyWalker on WebPaneJava.dll gives these errors:
------------------------------------
DWMAPI.DLL is missing
MSVC90.DLL is missing
------------------------------------
The dependancy paths of both these DLLs are:
------------------------------------
LIBXML2.DLL>WSOCK32.DLL>WS2_32.DLL>ADVAPI32.DLL>SECUR32.DLL>NETAPI32.DLL>DNSAPI.DLL>IPHLPAPI.DLL>MPRAPI.DLL>SETUPAPI.DLL>SHELL32.DLL>SHDOCVW.DLL>MSHTML.DLL>IEFRAME.DLL>DWMAPI.DLL
LIBXML2.DLL>MSVCR90.DLL
------------------------------------
Question:
was LIBXML2.DLL compiled to be compatible with a XP SP3/IE7 environment?