С солнечная документация
"Система печати может запросить, чтобы страница отображалась несколько раз, прежде чем перейти на следующую страницу."
Примеры всегда показывают что-то вроде этого:
Printable print(Graphics g, PageFormat pageFormat, int page) {
if (page == 0)
do...
else if(page == blah...)
}
Если вы следуете этому шаблону, ваш код обычно работает нормально, потому что он явный в зависимости от номера страницы. Отказ от этого паттерна причинял мне большую боль, пока я не осознал, что он вызывался несколько раз с одним и тем же номером страницы и начал кэшировать страницы.
Почему метод печати java Printable вызывается несколько раз с одним и тем же номером страницы?