java - JavaFX 打印 API 无法正确取消保存/打印屏幕。它仍然会弹出选择要保存的目录的窗口
问题描述
我最近开始使用 Javafx 打印 API 将某些内容导出到 PDF 文件和/或打印屏幕。当您决定保存/打印时,它工作正常,但是当您在选择保存或打印到何处的窗口上单击取消时,它仍会弹出窗口以选择要命名的目录并将文件保存到其中。
我通过 FXML 文件将函数链接到 On Mouse Clicked 事件,但我认为这不是问题所在。
这是我目前拥有的代码:
public void printSaveDiagram() {
System.out.println("printing/saving file!");
// Create the Printer Job
PrinterJob printerJob = PrinterJob.createPrinterJob();
// Get The Printer Job Settings
JobSettings jobSettings = printerJob.getJobSettings();
PageLayout pageLayout;
if (printerJob != null) {
printerJob.showPrintDialog(Controller.stage);
// Get The Printer
Printer printer = printerJob.getPrinter();
// Create the Page Layout of the Printer
pageLayout = printer.createPageLayout(Paper.C, PageOrientation.LANDSCAPE,Printer.MarginType.EQUAL);
jobSettings.setPageLayout(pageLayout);
printerJob.printPage(diagram);
printerJob.endJob();
}
}
解决方案
推荐阅读
- javascript - 显示图像而不是使用 javascript 下载
- awk - 将文本文件与 awk 中的所有字段混合
- reactjs - redux-form 未触及字段验证在提交时失败
- python-3.x - Python:我只想在整行为空的情况下填充空值
- javascript - 如何删除单引号并将双引号放在javascript中的对象数组中
- foreign-keys - Kiwi TCMS 可以向 Bugzilla 报告 ID 问题吗?
- powershell - Powershell CSV foreach 循环
- c++ - Qt websocket,连接到服务器
- c# - 在 c# 中使用 aspnet_regiis 动态加密 web.config
- javascript - Next JS Router.push('/uri') 抛出“Cannot update during an existing state transition”警告