prefferedSizeは無意味

基本的に使われてなく、ResizeActionで変更されるわけでもないので、まったく使い物になりません。
prefferedBoundsを使います。