簡體   English   中英

如何打印 javafx 窗格?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM