swing: update