Так что в настоящее время я пытаюсь создать функцию печати для своего приложения «Блокнот». У меня уже есть какая-то рабочая функция Print, но она печатает полную текстовую область, а не только строку, которая в нее записана.
Я уже пытался заставить его просто напечатать строку, но PrintJob не может с этим справиться, потому что для этого нужна фактическая TextArea, в которую записан текст.
Мои текущие материалы для печати:
public void doPrint() {
String toPrint = writeArea.getText();
printSetup(writeArea, Main.primaryStage);
}
private final Label jobStatus = new Label();
private void printSetup(Node node, Stage owner)
{
// Create the PrinterJob
PrinterJob job = PrinterJob.createPrinterJob();
if (job == null)
{
return;
}
// Show the print setup dialog
boolean proceed = job.showPrintDialog(owner);
if (proceed)
{
print(job, node);
}
}
private void print(PrinterJob job, Node node)
{
// Set the Job Status Message
jobStatus.textProperty().bind(job.jobStatusProperty().asString());
// Print the node
boolean printed = job.printPage(node);
if (printed)
{
job.endJob();
}
}
Что я хочу иметь:
Отпечаток, который показывает только строку, как и любое другое приложение блокнота, если вы пытаетесь что-то напечатать
Что я сейчас получаю:
Полная текстовая область с рамкой.