Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

swing:invokelater-invokeandwait 2008/01/23 09:58 swing:invokelater-invokeandwait 2020/01/22 20:59 aktuell
Zeile 1: Zeile 1:
 +[[swing:swing|Java - AWT/Swing]]\\
====== Aktionen nach GUI-Update ausführen ====== ====== Aktionen nach GUI-Update ausführen ======
//com.javax.SwingUtilities//\\ //com.javax.SwingUtilities//\\
Bei Swing ist der selbe Thread dafür zuständig, die Oberfläche neu zu zeichnen und die Events abzuarbeiten. Dies ist besonders unangenehm, wenn beim Drücken eines Buttons eine rechenintensive Operation ausgelöst wird. Dies führt dazu, dass der Button gedrückt erscheint, solange die Operation andauert. Das GUI wirkt eingefroren, bis die Operation abgeschlossen ist.\\ Bei Swing ist der selbe Thread dafür zuständig, die Oberfläche neu zu zeichnen und die Events abzuarbeiten. Dies ist besonders unangenehm, wenn beim Drücken eines Buttons eine rechenintensive Operation ausgelöst wird. Dies führt dazu, dass der Button gedrückt erscheint, solange die Operation andauert. Das GUI wirkt eingefroren, bis die Operation abgeschlossen ist.\\
 +\\
 +<html>
 +  <script type="text/javascript"><!--
 +      google_ad_client="pub-9681858985507948";
 +      google_ad_width = 468;
 +      google_ad_height = 60;
 +      google_ad_format = "468x60_as";
 +      google_ad_type = "text";
 +      google_ad_channel = "";
 +      google_color_border = "cccccc";
 +      google_color_bg = "FFFFFF";
 +      google_color_link = "1d2d8c";
 +      google_color_text = "000000";
 +      google_color_url = "1d2d8c";
 +      //-->
 +  </script>
 +  <script type="text/javascript"
 +      src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
 +  </script>
 +</html>
 +\\
 +\\
Hier stellen Die SwingUtilities zwei Methoden zur Verfügung: //invokeLater// und //invokeAndWait//.\\ Hier stellen Die SwingUtilities zwei Methoden zur Verfügung: //invokeLater// und //invokeAndWait//.\\
//invokeLater// arbeitet asynchron, das Programm läuft also weiter.\\ //invokeLater// arbeitet asynchron, das Programm läuft also weiter.\\
Zeile 10: Zeile 33:
      SwingUtilities.invokeLater(new Runnable(){       SwingUtilities.invokeLater(new Runnable(){
        public void run() {         public void run() {
-            // Hier aufgeführter Code wird erst nach dem GUI-Update ausgeführt+            // Hier aufgeführter Code wird erst nach dem GUI-Update ausgeführt.
        }         }
      });       });
Zeile 17: Zeile 40:
  }   }
} }
-</code>+</code>\\

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007