FULL PRODUCT VERSION :
java version " 1.7.0_25 "
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
EXTRA RELEVANT SYSTEM CONFIGURATION :
java version " 1.7.0_25 "
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
Since Java 7u25 PrinterJob.lookupPrintServices(); and PrinterJob.getPrinterJob(); throws a nullpointer exception in JavaFX applets or applications. The jar is signed according to the 7u25 documentation: it has Permissions: all-permissions attribute. The applet is able to access the clipboard (so is not sandboxed).
The system has printers. Running the same code directly from the IDE (not through JNLP) or using it in a JavaFX-in-Swing embedding project (through JNLP) the code runs fine, giving the number of printers.
REGRESSION. Last worked in version 7u21
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the signed JavaFX applet from browser/from Web Start. (eg.: create a NetBeans 7.3 JavaFX application) and invoke PrinterJob.lookupPrintServices(); or PrinterJob.getPrinterJob();
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Getting clipboard content.
Clipboard: Sample
Looking up printers
Number of available printer services: 10
Printer job: sun.awt.windows.WPrinterJob@61bde0
ACTUAL -
Getting clipboard content.
Clipboard: Sample
Looking up printers
Error looking up printers: null
java.lang.NullPointerException
ERROR MESSAGES/STACK TRACES THAT OCCUR :
cache: Initialize resource manager: com.sun.deploy.cache.ResourceProviderImpl@18ada25
Java Plug-in 10.25.2.17
Using JRE version 1.7.0_25-b17 Java HotSpot(TM) Client VM
User home directory = d:\Users\mzsolt
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
security: property package.access value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.
security: property package.access new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.
security: property package.definition new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.definition value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.access value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.access new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss,com.sun.browser,com.sun.glass,com.sun.javafx,com.sun.media.jfxmedia,com.sun.media.jfxmediaimpl,com.sun.openpisces,com.sun.prism,com.sun.scenario,com.sun.t2k,com.sun.webpane,com.sun.pisces,com.sun.webkit
security: property package.definition value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.definition new value sun.,com.sun.xml.internal.,com.sun.imageio.,com.sun.istack.internal.,com.sun.jmx.,com.sun.proxy.,com.sun.org.apache.bcel.internal.,com.sun.org.apache.regexp.internal.,com.sun.org.apache.xerces.internal.,com.sun.org.apache.xpath.internal.,com.sun.org.apache.xalan.internal.extensions.,com.sun.org.apache.xalan.internal.lib.,com.sun.org.apache.xalan.internal.res.,com.sun.org.apache.xalan.internal.templates.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.apache.xalan.internal.xslt.,com.sun.org.apache.xalan.internal.xsltc.cmdline.,com.sun.org.apache.xalan.internal.xsltc.compiler.,com.sun.org.apache.xalan.internal.xsltc.trax.,com.sun.org.apache.xalan.internal.xsltc.util.,com.sun.org.apache.xml.internal.res.,com.sun.org.apache.xml.internal.serializer.utils.,com.sun.org.apache.xml.internal.utils.,com.sun.org.apache.xml.internal.security.,com.sun.org.glassfish.,org.jcp.xml.dsig.internal.,com.sun.java.accessibility.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss,com.sun.browser,com.sun.glass,com.sun.javafx,com.sun.media.jfxmedia,com.sun.media.jfxmediaimpl,com.sun.openpisces,com.sun.prism,com.sun.scenario,com.sun.t2k,com.sun.webpane,com.sun.pisces,com.sun.webkit
network: Cache entry not found [url: file:/C:/Program%20Files%20(x86)/Java/jre7/lib/jfxrt.jar, version: null]
network: Cache entry not found [url: file:/C:/Program%20Files%20(x86)/Java/jre7/lib/jfxrt.jar, version: null]
network: Created version ID: 1.7.0.25
network: Created version ID: 1.7
network: Created version ID: 2.2.25
temp: new XMLParser with source:
temp: <?xml version= " 1.0 " encoding= " utf-8 " ?>
<jnlp spec= " 1.0 " xmlns:jfx= " http://javafx.com " href= " JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<resources>
<jfx:javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
</resources>
<resources>
<j2se version= " 1.6+ " href= " http://java.sun.com/products/autodl/j2se " />
<jar href= " JavaFX7u25PrintAndClipboardTest.jar " size= " 24140 " download= " eager " />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width= " 800 " height= " 600 " main-class= " com.javafx.main.NoJavaFXFallback " name= " JavaFX7u25PrintAndClipboardTest " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<jfx:javafx-desc width= " 800 " height= " 600 " main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " name= " JavaFX7u25PrintAndClipboardTest " />
<update check= " always " />
</jnlp>
temp:
returning ROOT as follows:
<jnlp spec= " 1.0 " xmlns:jfx= " http://javafx.com " href= " JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<resources>
<javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
</resources>
<resources>
<j2se version= " 1.6+ " href= " http://java.sun.com/products/autodl/j2se " />
<jar href= " JavaFX7u25PrintAndClipboardTest.jar " size= " 24140 " download= " eager " />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width= " 800 " height= " 600 " main-class= " com.javafx.main.NoJavaFXFallback " name= " JavaFX7u25PrintAndClipboardTest " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<javafx-desc width= " 800 " height= " 600 " main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " name= " JavaFX7u25PrintAndClipboardTest " />
<update check= " always " />
</jnlp>
temp: returning LaunchDesc from XMLFormat.parse():
<jnlp spec= " 1.0 " codebase= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/ " href= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<homepage href= " null " />
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<update check= " always " policy= " always " />
<resources>
<javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
<java href= " http://java.sun.com/products/autodl/j2se " version= " 1.6+ " />
<jar href= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar " download= " eager " main= " false " />
</resources>
<applet-desc name= " JavaFX7u25PrintAndClipboardTest " main-class= " com.javafx.main.NoJavaFXFallback " documentbase= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.html " width= " 800 " height= " 600 " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<javafx-desc main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " />
</jnlp>
network: Cache entry found [url: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp
basic: Loaded descriptor from cache at: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp
temp: new XMLParser with source:
temp: <?xml version= " 1.0 " encoding= " utf-8 " ?>
<jnlp spec= " 1.0 " xmlns:jfx= " http://javafx.com " href= " JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<resources>
<jfx:javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
</resources>
<resources>
<j2se version= " 1.6+ " href= " http://java.sun.com/products/autodl/j2se " />
<jar href= " JavaFX7u25PrintAndClipboardTest.jar " size= " 24140 " download= " eager " />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width= " 800 " height= " 600 " main-class= " com.javafx.main.NoJavaFXFallback " name= " JavaFX7u25PrintAndClipboardTest " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<jfx:javafx-desc width= " 800 " height= " 600 " main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " name= " JavaFX7u25PrintAndClipboardTest " />
<update check= " always " />
</jnlp>
temp:
returning ROOT as follows:
<jnlp spec= " 1.0 " xmlns:jfx= " http://javafx.com " href= " JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<resources>
<javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
</resources>
<resources>
<j2se version= " 1.6+ " href= " http://java.sun.com/products/autodl/j2se " />
<jar href= " JavaFX7u25PrintAndClipboardTest.jar " size= " 24140 " download= " eager " />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width= " 800 " height= " 600 " main-class= " com.javafx.main.NoJavaFXFallback " name= " JavaFX7u25PrintAndClipboardTest " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<javafx-desc width= " 800 " height= " 600 " main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " name= " JavaFX7u25PrintAndClipboardTest " />
<update check= " always " />
</jnlp>
temp: returning LaunchDesc from XMLFormat.parse():
<jnlp spec= " 1.0 " codebase= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/ " href= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp " >
<information>
<title>JavaFX7u25PrintAndClipboardTest</title>
<vendor>mzsolt</vendor>
<homepage href= " null " />
<description>Sample JavaFX 2.0 application.</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<update check= " always " policy= " always " />
<resources>
<javafx-runtime version= " 2.2+ " href= " http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp " />
<java href= " http://java.sun.com/products/autodl/j2se " version= " 1.6+ " />
<jar href= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar " download= " eager " main= " false " />
</resources>
<applet-desc name= " JavaFX7u25PrintAndClipboardTest " main-class= " com.javafx.main.NoJavaFXFallback " documentbase= " file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.html " width= " 800 " height= " 600 " >
<param name= " requiredFXVersion " value= " 2.2+ " />
</applet-desc>
<javafx-desc main-class= " javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest " />
</jnlp>
cache: JNLPPreverifyClassLoader.initialize: FAILED: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
network: Created version ID: 1.7.0.25
network: Created version ID: 1.7
network: Created version ID: 2.2.25
basic: Plugin2ClassLoader.addURL2 called for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
basic: Plugin2ClassLoader.drainPendingURLs addURL called for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
security: Security check for progress jars: allSigned=true
network: LaunchDownload: concurrent downloads from LD: 4
network: Total size to download: 24140
security: Blacklist revocation check is enabled
security: blacklist: created: NEED_LOAD, lastModified: 1374737611056
security: blacklist: hasBeenModifiedSince 1374741599776 (we have 1374737611056)
security: Trusted libraries list check is enabled
security: Certificate revocation enabled. Disable security validation optimizations.
security: Reset cached validation for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar.
network: Cache entry found [url: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
cache: Resource file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar has expired.
network: ResponseCode for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar : 200
network: Encoding for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar : null
CacheEntry[file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar]: updateAvailable=false,lastModified=Thu Jul 25 10:39:52 CEST 2013,length=23976
network: Download Progress: jarsDone: 1
network: Created version ID: 1.6+
network: Created version ID: 2.2+
network: Created version ID: 1.7.0.25
network: Created version ID: 2.2.25
network: Created version ID: 2.2+
network: Created version ID: 2.2.25
basic: LaunchDesc location: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp
network: Created version ID: 1.6.0.10
network: Created version ID: 1.0
network: Created version ID: 7.0
network: Created version ID: 6.0.18
network: Created version ID: 6.0.10
network: Created version ID: 6.0
network: Created version ID: 1.5
network: Created version ID: 1.0
cache: Cancel delay cleanup: URL: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp | d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\48\11ed4470-71a816d8.idx
cache: Cancel delay cleanup: URL: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar | d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\24\4b27f7d8-3ff57b6a.idx
security: Certificate revocation enabled. Disable security validation optimizations.
security: Certificate revocation enabled. Disable security validation optimizations.
security: Validating cached jar url=file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar ffile=d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\24\4b27f7d8-3ff57b6a com.sun.deploy.cache.CachedJarFile@12d78bd
cache: Reading Signers from 4547 file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar | d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\24\4b27f7d8-3ff57b6a.idx
cache: Done readSigners(file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar)
security: Certificate revocation enabled. Disable security validation optimizations.
security: Istrusted: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp false
security: Loading Deployment certificates from d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loaded Deployment certificates from d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Internet Explorer TrustedPublisher certificate store
security: Loaded certificates from Internet Explorer TrustedPublisher certificate store
security: Validate the certificate chain using CertPath API
security: Loading blacklisted.certs file: d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs
security: SHA-256 finger print: 6C9574FA6AEF4327CE81207FB0438B0E752658E5A8DCBC840B8C9474CFBCD85E
security: SHA-256 finger print: 5BFADEAB0B3E587601694E80288E79D34327B4D38692041DCF910EE230C2ADC7
security: SHA-256 finger print: E5AF5052580FF593EB3D69C4BBBDE3E9C8661F1572D49292CB786A4A29ED3D34
security: Loading certificates from Internet Explorer ROOT certificate store
security: Loaded certificates from Internet Explorer ROOT certificate store
security: The certificate has expired, need to check timestamping info
security: No timestamping info available
security: The OCSP support is enabled
security: The CRL support is enabled
security: Failing over to CRLs: Certificate does not specify OCSP responder
network: Cache entry found [url: http://cert.noreg.hu/crl/NoregTestRootCA.crl, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: http://cert.noreg.hu/crl/NoregTestRootCA.crl
cache: Resource http://cert.noreg.hu/crl/NoregTestRootCA.crl has expired.
network: Connecting http://cert.noreg.hu/crl/NoregTestRootCA.crl with proxy=DIRECT
network: Connecting http://cert.noreg.hu:80/ with proxy=DIRECT
network: ResponseCode for http://cert.noreg.hu/crl/NoregTestRootCA.crl : 304
network: Encoding for http://cert.noreg.hu/crl/NoregTestRootCA.crl : null
network: Disconnect connection to http://cert.noreg.hu/crl/NoregTestRootCA.crl
security: Failing over to CRLs: Certificate does not specify OCSP responder
network: Cache entry found [url: http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl
cache: Resource http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl has expired.
network: Connecting http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl with proxy=DIRECT
network: Connecting http://testca.w2k8test.intra:80/ with proxy=DIRECT
network: ResponseCode for http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl : 304
network: Encoding for http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl : null
network: Disconnect connection to http://testca.w2k8test.intra/CertEnroll/Noreg%20Test%20MSCA.crl
cache: Read manifest for file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar: read=455 full=455
security: Certificate revocation enabled. Disable security validation optimizations.
Missing Codebase manifest attribute for: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
security: Validate the certificate chain using CertPath API
security: SHA-256 finger print: 6C9574FA6AEF4327CE81207FB0438B0E752658E5A8DCBC840B8C9474CFBCD85E
security: SHA-256 finger print: 5BFADEAB0B3E587601694E80288E79D34327B4D38692041DCF910EE230C2ADC7
security: SHA-256 finger print: E5AF5052580FF593EB3D69C4BBBDE3E9C8661F1572D49292CB786A4A29ED3D34
security: The certificate has expired, need to check timestamping info
security: No timestamping info available
security: The OCSP support is enabled
security: The CRL support is enabled
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Failing over to CRLs: Certificate does not specify OCSP responder
network: Connecting http://cert.noreg.hu:389/ with proxy=DIRECT
network: Cache entry found [url: http://cert.noreg.hu/crl/NoregTestMSCA.crl, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: http://cert.noreg.hu/crl/NoregTestMSCA.crl
cache: Resource http://cert.noreg.hu/crl/NoregTestMSCA.crl has expired.
network: Connecting http://cert.noreg.hu/crl/NoregTestMSCA.crl with proxy=DIRECT
network: ResponseCode for http://cert.noreg.hu/crl/NoregTestMSCA.crl : 304
network: Encoding for http://cert.noreg.hu/crl/NoregTestMSCA.crl : null
network: Disconnect connection to http://cert.noreg.hu/crl/NoregTestMSCA.crl
security: Certificate validation succeeded using OCSP/CRL
basic: updateValidationResultsForApplet update
cache: Mark prevalidated: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar true tm=1374742324686 cert=1689927385000
network: Connecting http://cert.noreg.hu:389/ with proxy=DIRECT
security: Certificate validation succeeded using OCSP/CRL
basic: updateValidationResultsForApplet update
cache: Mark prevalidated: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar true tm=1374742324718 cert=1689927385000
security: Certificate revocation enabled. Disable security validation optimizations.
cache: Reading Signers from 0 file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp | d:\Users\mzsolt\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\48\11ed4470-71a816d8.idx
security: Mark trusted: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jnlp
basic: passing security checks; secureArgs:true, allSigned:false
basic: continuing launch in this VM
basic: JNLP2ClassLoader.getPermissions()
Missing Codebase manifest attribute for: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
security: Validate the certificate chain using CertPath API
security: SHA-256 finger print: 6C9574FA6AEF4327CE81207FB0438B0E752658E5A8DCBC840B8C9474CFBCD85E
security: SHA-256 finger print: 5BFADEAB0B3E587601694E80288E79D34327B4D38692041DCF910EE230C2ADC7
security: SHA-256 finger print: E5AF5052580FF593EB3D69C4BBBDE3E9C8661F1572D49292CB786A4A29ED3D34
security: The certificate has expired, need to check timestamping info
security: No timestamping info available
security: The OCSP support is enabled
security: The CRL support is enabled
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Certificate validation succeeded using OCSP/CRL
basic: updateValidationResultsForApplet update
cache: Mark prevalidated: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar true tm=1374742324755 cert=1689927385000
basic: Plugin2ClassLoader.getPermissions CeilingPolicy allPerms
security: JAVAWS AppPolicy Permission requested for: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
basic: JNLP2ClassLoader.getPermissions() X
Missing Codebase manifest attribute for: file:/D:/dev/Test/7u25PrintError/JavaFX7u25PrintAndClipboardTest/dist/JavaFX7u25PrintAndClipboardTest.jar
security: Validate the certificate chain using CertPath API
security: SHA-256 finger print: 6C9574FA6AEF4327CE81207FB0438B0E752658E5A8DCBC840B8C9474CFBCD85E
security: SHA-256 finger print: 5BFADEAB0B3E587601694E80288E79D34327B4D38692041DCF910EE230C2ADC7
security: SHA-256 finger print: E5AF5052580FF593EB3D69C4BBBDE3E9C8661F1572D49292CB786A4A29ED3D34
security: The certificate has expired, need to check timestamping info
security: No timestamping info available
security: The OCSP support is enabled
security: The CRL support is enabled
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Certificate validation succeeded using OCSP/CRL
security: SSV validation: running: 1.7.0_25, requested: 1.7.0.25, range: null
network: Created version ID: 1.7.0.25
network: Created version ID: 1.7.0.25
security: continue with running version
basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 740427 us, pluginInit dt 4497765 us, TotalTime: 5238192 us
basic: Applet initialized
basic: Starting applet
basic: completed perf rollup
basic: Applet made visible
basic: Applet started
basic: Told clients applet is started
network: Created version ID: 1.7.0.25
network: Created version ID: 1.7.0.25
Getting clipboard content.
Clipboard: Sample
Looking up printers
Error looking up printers: null
java.lang.NullPointerException
at javax.print.PrintServiceLookup.getServicesForContext(Unknown Source)
at javax.print.PrintServiceLookup.getListOfLookupServices(Unknown Source)
at javax.print.PrintServiceLookup.getAllLookupServices(Unknown Source)
at javax.print.PrintServiceLookup.getServices(Unknown Source)
at javax.print.PrintServiceLookup.lookupPrintServices(Unknown Source)
at java.awt.print.PrinterJob.lookupPrintServices(Unknown Source)
at javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest$1.handle(JavaFX7u25PrintAndClipboardTest.java:42)
at javafx7u25printandclipboardtest.JavaFX7u25PrintAndClipboardTest$1.handle(JavaFX7u25PrintAndClipboardTest.java:29)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:28)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Node.fireEvent(Node.java:6863)
at javafx.scene.control.Button.fire(Button.java:179)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:193)
at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:336)
at com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:329)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3328)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3168)
at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3123)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1563)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2265)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:250)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:173)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:292)
at com.sun.glass.ui.View.handleMouseEvent(View.java:528)
at com.sun.glass.ui.View.notifyMouse(View.java:922)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
at java.lang.Thread.run(Unknown Source)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package javafx7u25printandclipboardtest;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.print.PrinterJob;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javax.print.PrintService;
public class JavaFX7u25PrintAndClipboardTest extends Application {
@Override
public void start(Stage primaryStage) {
Button btn1 = new Button();
btn1.setText( " Get clipboard and look up printers " );
btn1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println( " Getting clipboard content. " );
try {
String cl = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
System.out.println( " Clipboard: " + cl);
} catch (Exception e) {
System.err.println( " Error getting clipboard: " + e.getMessage());
e.printStackTrace();
}
System.out.println( " Looking up printers " );
try {
PrintService[] services = PrinterJob.lookupPrintServices();
System.out.println( " Number of available printer services: " + services.length);
PrinterJob job = PrinterJob.getPrinterJob();
System.out.println( " Printer job: " + job);
} catch (Exception e) {
System.err.println( " Error looking up printers: " + e.getMessage());
e.printStackTrace();
}
}
});
StackPane root = new StackPane();
root.getChildren().add(btn1);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle( " JavaFx 7u25Test " );
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Using the above code in a JavaFX-in-Swing embedding project.