in setVisible override, call update only when transitioning from invisible to visible