JScrollPane
some を使用して 1000 個のコンポーネントを含む が与えられLayoutManager
ます。各コンポーネントは、ロードされた状態またはアンロードされた状態のいずれかになります。すべてをロードするのに十分なリソースがありません。
load()
目に見えるコンポーネントのみをメモリ内で編集し、目に見えないコンポーネントを編集したいと思いますunload()
。ユーザーがスクロールするとき、リスナーはコンポーネントの状態を更新し続ける必要があります。unload()
以前に表示されていたものとload()
新しく表示されたものです。
- いつでも、どのコンポーネントが表示されているかをどのように知ることができますか?
- 1000全体を反復せずにこれを知ることができますか? (効率的な のように
viewPort.getVisibleComponents()
)
すべてのコンポーネント Y のソートされたリストを準備し、実行時のバイナリ検索でViewPort
の Y をインデックスに到達させて、目に見えるものに導く可能性があります。これは、リストの準備中にコンポーネント Y がすべて 0 を返したため、失敗しました。これは効率的である必要があります。