私の Swing GUI は、バックグラウンド スレッドによって順次削除される項目の JList を表示します。
JList の背後には、AbstractListModel のコントラクトに従って、およびArrayDeque<Card>
を実装する myHopper があります。myHopper.getSize()
myHopper.getElementAt()
バックグラウンド スレッドは、 を使用してアイテムを削除しますmyHopper.poll()
。
驚くことではありませんが、現在、AWT 配列インデックスの範囲外の例外が発生しています。
EDT スレッドとバックグラウンド スレッドの間で myList へのアクセスを適切に同期するにはどうすればよいですか? への参照を見Collections.synchronizedList(arrayList)
たことがありますが、それが私の ArrayDeque に適合するとは思いません。