У меня есть код для печати, который печатает блок информации из массива по одному на страницу.Проблема с разбивкой по страницам
double x = pf.getImageableX() + 1;
double y = pf.getImageableY();
double xMax = pf.getImageableWidth();
double yMax = pf.getImageableHeight();
if ((pageIndex < generation.length)) {
//Graphics code
y += (height of index) + 10;
return PAGE_EXISTS;
} else {
return NO_SUCH_PAGE;
}
}
Я хочу, чтобы индекс продолжал расти, печатая больше объектов на страницу, пока y не превысит yMax. В этот момент y будет сброшен, и я могу продолжить печать объектов на следующей странице.
Однако метод print() является рекурсивным; поэтому, если бы я попытался ввести цикл for, он просто распечатывал одни и те же записи снова и снова до (pageIndex < generation.length).
Как распечатать новые страницы при y> yMax, а также распечатать все элементы в моем массиве?
Если я сделаю это, я получаю «отсутствую оператор возврата» ошибка –
Вот вызов методы: 'общественного ИНТ печать (График, PageFormat пф, внутр pageIndex) бросает PrinterException' –
Отсутствующий оператор возврата, вероятно, из первый если. Я отредактировал свой ответ, чтобы дать понять, куда включить NO_SUCH_PAGE – n00begon