Hej! Udało mi się połączyć w Javie Swinga z JavaFX (chodziło mi o odtwarzanie mp3)...
Wszystko super działa jak uruchamiam program z poziomu NetBeans...
Jeśli uruchamiam plik jar poleceniem java -jar plik.jar to wyrzuca taki komunikat :
C:\Users\Dell>java -jar C:\Users\Dell\Documents\NetBeansProjects\JavaApplication
1\dist\JavaApplication1.jar
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.Uns
atisfiedLinkError: Can't load library: C:\Users\Dell\Documents\NetBeansProjects\
JavaApplication1\dist\bin\glass.dll
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
277)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:90)
at javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:178)
at javafx.embed.swing.JFXPanel.<init>(JFXPanel.java:195)
at javaapplication1.NewJFrame.<init>(NewJFrame.java:28)
at javaapplication1.NewJFrame$4.run(NewJFrame.java:183)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\Dell\Doc
uments\NetBeansProjects\JavaApplication1\dist\bin\glass.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoad
er.java:143)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoad
er.java:56)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:
31)
at com.sun.glass.ui.Application$1.run(Application.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:73)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:85)
at com.sun.glass.ui.win.WinApplication.<clinit>(WinApplication.java:33)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:20)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:17)
at com.sun.glass.ui.Application.Run(Application.java:108)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
267)
... 19 more
Jeśli skopiuje folder C:\Program Files\Oracle\JavaFX 2.1 SDK\rt\bin do katalogu z projektem to wtedy działa poza NetBeansem...
Czyli pod każdy system operacyjny trzeba będzie osobną wersję przygotowywać (chodzi o pliki z katalogi bin) ?
Dostęp do JavyFX z aplikacji Swingowej robię tak, że w NetBeans, we właściwościach projektu wybieram Libraries, Add JAR/Folder i dodaję bibliotekę C:\Program Files\Oracle\JavaFX 2.1 SDK\lib\jfxrt.jar
Z góry dzięki za odpowiedzi :)