どうも。
今、実験がてらカードゲーム(ババ抜き)のGUIを作っています。

そこで質問なのですが、カードの内容(ArrayList)が更新されたら
毎回手持ちのカード(JLabelに画像を代入)を表示しなおしと言うコードを書いているのですが
JPanelごとrepaintせずにカードの画像を全部消して、再度並べる場合
どのようにメソッドを使い分けるべきでしょうか?

今は
・forループで全部の画像をresize(0,0)してremoveAll( )
・ArrayListからカードを取り除く
・forループで画像をrisize(48, 64)してrepaint( )
という事をしています。

他にもっとましなやり方とかあったりするのでしょうか?
そもそもJLabel以外で軽い画像の表示方法があったりするのでしょうか?
ご教示お願いします。