[英]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.