Java 教程是针对 JDK 8 编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关 Java SE 9 及后续版本中更新的语言功能的摘要,请参阅 Java 语言更改。
有关所有 JDK 发行版的新功能、增强功能以及已删除或不推荐使用的选项的信息,请参阅 JDK 发行说明。
前一节中展示的 PrintUIWindow.java
示例演示了打印输出与屏幕上的显示完全相同的效果。这种外观是合理的。然而,如果窗口可滚动,则当前滚动出视图的内容不会包含在打印输出中。这在打印机上会产生一个垃圾效果。当打印大组件(例如 Swing 表格或文本组件)时,这成为一个特别的问题。组件可能包含许多行文本,而不能全部在屏幕上完全可见。在这种情况下,以与屏幕显示一致的方式打印组件中显示的内容。
为了解决这个问题,Swing 表格和所有文本组件都具备打印功能。以下方法直接提供了 Java 2D 打印的使用:
这些方法提供了对其内容的完整打印实现。应用程序不需要直接创建 PrinterJob
对象并实现 Printable
接口。调用这些方法会显示打印对话框,并根据用户的选择打印组件的数据。还有其他提供更多选项的方法。