title: Usage of JavaFX Platform.runLater and access to UI from a different thread
body: <p>I have a few questions about <code>Platform.runLater</code>. I have a JavaFX Application class. In this class I run a thread (The thread reads data from a network socket).</p>
  
  <p>Now when I create a new <code>Stage</code> inside the thread, the system throws an execption (JavaFX event dispatcher thread and my netork-read thread are not the same) - I understand this behaviour.</p>
  
  <p>But the other side is, I append the text from the network-reader to an existing <code>TextArea</code> or add/remove some items in a <code>ListView&lt;String&gt;</code> - this doesn't throw an exception - why ? I thought JavaFX is singlethreaded (The ui library part). Is this the same thing as in Swing: Sometimes it works and sometimes you have just garbage (Because EDT)?</p>
  
  <p>My questions:</p>
  
  <ul>
  <li>When does the JavaFX event dispatcher thread throw an exception and when not ?</li>
  <li>Are the any good documents about this</li>
  <li>Is there an easier (shorter &amp; cleaner) way to use <code>Platform.runLater</code> with a <code>run()</code> method ? In combination with a try catch (or multiple catch), it looks very strange</li>
  </ul>
  
  <p>I know the usage of <code>Platform.runLater</code> in a thread isn't that nice (design solution)</p>