我之前发布过同样的问题,但没有得到答案。我重新发布是因为我认为这是最近有人遇到的一个简单问题。
我有一个使用 awt.PrinterJob 打印一些可打印信息的 JavaFX 应用程序。在开发过程中一切正常,但是当我签署应用程序并通过 Web Start 部署它时,单击相同的按钮打印数据只会在下面引发 Null 指针异常:
Caused by: 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.lookupDefaultPrintService(Unknown Source)
at sun.print.Win32PrintServiceLookup.getWin32PrintLUS(Unknown Source)
at sun.awt.windows.WPrinterJob.getPrintService(Unknown Source)
at sun.print.RasterPrinterJob.setPrintable(Unknown Source)
at AdvancedSearchDetailedResultsTableViewController.printToImage(AdvancedSearchDetai..
我有另一个 Java Swing 应用程序,我以相同的方式部署它并且它使用 PrintJob 没有问题。我认为这可能与 JavaFX 和 awt 有关,但它在本地工作,这让我认为它一定与 WebStart 访问打印服务有关。我查看了 JNLP API Printservices 没有结果。
上一篇文章链接https://stackoverflow.com/questions/17403727/java-web-start-printerjob
任何想法或解决方法将不胜感激。
谢谢