【发布时间】:2019-08-29 09:12:19
【问题描述】:
所以目前我正在尝试为我的记事本应用程序制作打印功能。我已经有一种工作打印功能,但它打印完整的 TextArea 不仅是写入其中的字符串。
我已经尝试让它只打印一个字符串,但 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();
}
}
我想要的: 仅显示字符串的打印,就像您尝试打印某些内容时任何其他记事本应用程序一样
我目前得到的: 带框架的全文区域。
【问题讨论】:
-
您可以将TextArea的文本包装成一个Text并打印出来。喜欢:
printSetup(new Text(writeArea), Main.primaryStage);我注意到的一个问题,第一行不可见,IDK 为什么。也许你也可以尝试一下,找出原因。 -
您好,感谢您的建议。但不知何故,我无法将
new Text应用到我的写作区域......我只是迟钝还是根本不起作用?