ここには、配列から 1 ページに 1 つの情報ブロックを出力する印刷用のコードがあります。
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 のときに、配列内のすべての要素を印刷しながら新しいページを印刷するにはどうすればよいですか?