私は、Javaの実践のための簡単な小さなテキストエディタを作ろうとしています。私は、テキストを入力するJavaFX 8のTextAreaを持っています。私は、テキストオブジェクトを作成して塗りつぶして、そのテキストオブジェクトをプリンタに送ることができるようにしたいと考えています。これまでのところ、私は悲惨に失敗しました。プリンタは空白の用紙を吐き出すだけです。印刷するコンテンツがないかのように動作します。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:さらに私は
wrappingWidth
プロパティを設定することをお勧めします); ' – c0derありがとうございますが、そのノードを印刷したくありません。私は、テキストオブジェクトにノードの内容を塗りつぶし、それを印刷する指示に従っています。テキスト抽出されたテキスト=新しいテキスト(textDocument.getText());それは何らかの理由で動作しません。私はいくつかのテキストオブジェクトを印刷可能にする方法があります。 –
'job.printPage(textDocument);'は動作しますか? – c0der