How swing work with observable