もとの方針にどうしても従うなら
setSize(calcClampedSize(300));
とかになんのかな