简短的回答,不,不需要在EDT上进行打印。
官方教程对此进行了介绍:如何打印文本
交互式或非交互式打印
在交互模式下,将在打印期间显示带有中止选项的进度对话框。这是进度对话框的示例。
该对话框允许用户跟踪打印进度。 在事件分配线程上调用print方法时,进度对话框是模式对话框,否则是非模式对话框。
重要的是您的文档在打印时保持不变,否则打印行为是不确定的。打印方法可确保您的文档不会被更改,并在打印期间禁用该组件。如果您以非交互方式在事件分发线程上调用print方法,则所有事件(包括重绘)都将被阻止。
这就是为什么只建议在具有不可见GUI的应用程序上在EDT上进行非交互式打印的原因。



