Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Unterschied EventQueue.invoke... und thread.start()
EventQueue.invoke.. fügt ein runnable der EventQueue des EDT hinzu (nötig wenn man swing und Threads nutzt, da änderung an einer swing gui nur vom EDT ausgeführt werden sollten)
Thread.start() startet einen neuen Thread (für asynchrone/parallele Vorgänge)
Hierbei wird kein neuer Thread gestartet! Dieses Konstrukt ist zwar syntaktisch nicht falsch, macht aber nicht das was man auf den ersten blick vllt erwartet:
Der Thread wird hier nur als Runnable gesehen (welches allein nix mit paralleler verarbeitung zu tun hat, sondern nur als Container für eine Methode dient) sprich der EDT führt die Methode und es wird nie ein neuer Thread gestartet.
Kleine Erklärung zum EDT: der Event Dispatch Thread startet automatisch sobald man ein (Swing/AWT)-GUI-object (z.B ein JFrame oder einen JDialog) anzeigt und ist dafür zuständig dieses zu rendern und events zu verarbeiten. Mit EventQueue.invoke.. oder SwingUtilities.invoke.. (das selbe in grün) kann man sicherstellen dass etwas im EDT und nicht in einem anderen Thread ausgeführt wird, da es sonst zu merkwürdigen Fehlern kommen kann.
=> EventQueue.invoke startet NIE einen neuen Thread sondern reicht nur die Aufgabe im Runnable an den EDT weiter.