title: Should we use EventQueue.invokeLater for any GUI update in a Java desktop application?
body: <p>I know that by using this method, the runnable parameter is submitted to the system EventQueue.
  But should all GUI updates be done this using this method? I mean, if i want to say, change a text of JButton, should i use something like this:</p>
  
  <pre><code>java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
           jButton1.setText("changed text");
        }
  });
  </code></pre>
  
  <p>If i should use this approach, any pattern we can use to avoid this repetitive code? </p>