[英]how to print javafx pane?
我的 javafxml 文件中有一个名为receivePane的窗格。 我喜欢打印这个窗格,因为它包含 tableview 和标签。 我知道如何打印节点,但不知何故我无法弄清楚打印窗格。 如果我将任何节点放在这里它可以工作,它会打印节点。 但是,如果我把我的窗格放在这里,它不会打印出来。
@FXML
public void print() {
// Create a printer job for the default printer
PrinterJob job = PrinterJob.createPrinterJob();
if (job != null && job.showPrintDialog(receiptPane.getScene().getWindow())){
boolean success = job.printPage(receiptPane);
if (success) {
job.endJob();
}
}
}
任何帮助表示赞赏。 谢谢
自从我提出问题以来,我就试图找出问题所在。 这就是为什么我得到空白打印的原因。 通常它正在打印,但它正在打印空白。 所以我尝试创建该窗格的一个实例并将所有这些节点添加到其中。 它通常是添加的,但是,我在 Scene Builder 中这样做了。 我想那是我的问题。
因此,解决方案如下;
receiptPane = new Pane();
receiptPane.getChildren().addAll(totalL,
tAmountL,
dateTimeL,
orderIDL,
compNameL,
compAddress1L,
compAddress2L,
thanksL,
paymentType1L,
paymentTypeAmount1L,
dueL,
dueAmountL,
ordReceipts
);
PrinterJob job = PrinterJob.createPrinterJob();
if (job != null && job.showPrintDialog(receiptPane.getScene().getWindow())){
boolean success = job.printPage(receiptPane);
if (success) {
job.endJob();
}
}
现在,它起作用了。
感谢任何有兴趣的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.