我长期以来一直在努力解决这个问题,但找不到任何答案。我的问题是,我有一些文本,我想使用java的 PrinterJob 打印,但我希望能够向用户显示打印对话框中将打印多少页(如果我不指定数字,9999将显示为页数。)
图像,自定义形状等都可以,因为我可以使用给定的 PageFormat 简单地计算内容的页数。带有文本内容的 BUT!如果没有 Graphics 对象或 FontRenderContext ,我无法计算文本的大小!
所以在实践中,这意味着我只能使用给定的 Graphics 和 Printable 界面的 print 方法中计算文本大小> getFontMetrics 方法。我是对的吗?
一种方法是从我的内容创建图像然后打印图像,但我不希望这样,因为为了我的目的,我需要将文本直接绘制到我的 Graphics 对象中打印方法。
那么告诉我,我是傻瓜还是在Java中这不可行?我想第一个选择是正确的。