0
好的。我正在尝试为Java练习做一个简单的小文本编辑器。我在JavaFX 8中输入文本的TextArea。我希望能够创建并填充一个Text对象,然后将该文本对象发送给打印机。到目前为止,我失败了。打印机只是吐出一张白纸。它的行为好像没有内容需要打印。JavaFx转换和打印
我发现那里的文本对象被包裹在Java的TextFlow中像这样的例子..
TextFlow printArea = new TextFlow(new Text(textDocument.getText()));
至少打印出一些东西,但输入的文字,这只是第一行。
这里是我的打印代码:
static void printOperation(TextArea textDocument) {
Text extractedText = new Text(textDocument.getText());
PrinterJob printerJob = PrinterJob.createPrinterJob();
if (printerJob != null && printerJob.showPageSetupDialog(textDocument.getScene().getWindow())
&& printerJob.showPrintDialog(textDocument.getScene().getWindow())) {
if (printerJob.printPage(extractedText)) {
printerJob.endJob();
} else {
System.out.println("Failed to print");
}
} else {
System.out.println("Canceled");
}
}
//There is a print menu option that calls the print method
print.setOnAction((ActionEvent e) -> {
printOperation(textDocument);
});
'job.printPage(textDocument );' – c0der
谢谢,但我不想打印该节点。我按照说明使用节点的内容填充文本对象,然后打印该对象。 Text extractedText = new Text(textDocument.getText());由于某些原因,这不起作用。我必须做一些如何使该文本对象可打印。 –
'job.printPage(textDocument);'工作吗? – c0der