4
プリンタにテキストを送信しようとしています。私は、テキストだけを印刷し、ページ余白にラップし、必要に応じて別のページに移動する必要があります。印刷を終わる何テキストのみを印刷するにはどうすればよいですか?
@FXML
private void print() {
TextArea printArea = new TextArea(textArea.getText());
printArea.setWrapText(true);
printArea.getChildrenUnmodifiable().forEach(node -> node.setStyle("-fx-background-color: transparent"));
printArea.setStyle("-fx-background-color: transparent");
PrinterJob printerJob = PrinterJob.createPrinterJob();
if (printerJob != null && printerJob.showPrintDialog(textArea.getScene().getWindow())) {
if (printerJob.printPage(printArea)) {
printerJob.endJob();
// done printing
} else {
// failed to print
}
} else {
// failed to get printer job or failed to show print dialog
}
}
は、スクロールバーと一緒に、コントロール自体であるように思わ灰色の背景である:
は、ここで私が今やっているかの最小限の例です。私はこれに間違った方法で近づいていますか?私は、印刷するテキストを送信するのではなく、コントロールを調整して印刷することで、APIと戦っているように感じています。
以下の画像例は携帯電話のカメラから撮ったものです。白い紙が少し明るい灰色に見えますが、コントロールとスクロールバーから灰色の背景が見えます。代わりのTextAreaの