add SwingUtilities.invokeAndWait in client frame update model