>// ボタン4の下にウインドウの右側にくっつくボタン5配置
>layout.putConstraint(layout.NORTH, button5, 5, layout.SOUTH, button4);
>layout.putConstraint(layout.WEST, button5, (int)-(button5.getPreferredSize().getWidth() + 5), layout.EAST, contentPane);

PreferredSizeは不要。
動かしてないししばらく触ってないから違うかもしれないけどどうよ↓
layout.putConstraint(layout.EAST, button5, Spring.minus(Spring.constant(5)), layout.EAST, contentPane);


>SpringLayoutは重いか
下手するとO(n^2)だとどっかで見たような気がしなくもないが、
原理から考えると重くなるような制約をかけなければ重くならないはず。

>>370の書いてるコードだと、軟バネが無いのでnullLayoutとオーダ的には変わらないと思う。