Я пишу небольшое Java-приложение для управления процессом заказа для друга.
Я использую конструкцию PrinterDialog для вызова системных принтеров, и она, кажется, довольно хорошо работает на моем Mac в процессе разработки.Однако, когда я пытаюсь использовать тот же код на компьютере с Windows, код не открывает диалоговое окно системного принтера.Нет явного «сбоя кода», просто ничего не происходит.Я попытался скопировать файл Jar в Windows, а также перекомпилировать проект на NetBeans в Windows, и ни один из них, похоже, не имеет никакого значения.Был поток, похожий на этот год или два назад, но писатель, казалось, подразумевал, что просто перестройка проекта на компьютере с Windows решила проблему, когда, по-моему, это не имеет значения.
Любые комментарии или указатели, чтобы заставить приложение работать на Windows, будут с благодарностью приняты.
Код, о котором идет речь: -
private void actionPrint(ActionEvent event) {
try {
Stage printStage = new Stage();
FXMLLoader ploader = new FXMLLoader(getClass().getResource("OrderDocument.fxml"));
Node orderNode = (Node) ploader.load();
Group printerNode = new Group();
printerNode.getChildren().add(orderNode);
Scene printScene = new Scene(printerNode, 620, 875);
printStage.setScene(printScene);
Printer printer = Printer.getDefaultPrinter();
PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginType.HARDWARE_MINIMUM);
PrinterJob job = PrinterJob.createPrinterJob();
job.showPrintDialog(printStage);
if (job != null) {
boolean success = job.printPage(pageLayout,printerNode);
if (success) {
job.endJob();
}
}
} catch (IOException ex) {
Logger.getLogger(OrderCreateController.class.getName()).log(Level.SEVERE, null, ex);
}
}