Swing celý běží v jednom vlákně (event dispatch thread), všechny časově náročné operace je nutné dělat v jiném. A naopak, z jiných vláken se nesmí přistupovat k swingovským objektům (je nutno používat SwingUtilities.invokeLater() a SwingUtilities.invokeAndWait()).
Od 1.6 existuje SwingWorker - pomocná třída přímo pro tento účel: http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html Podrobněji viz patřičná literatura. Kamil Podlešák > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Martin Jedlicka > Sent: Monday, January 07, 2008 3:08 PM > To: Java konference > Subject: Busy GUI > > > Zdravim, > > mam dotaz ohledne GUI. Mam vyvorene GUI okno pomoci SWT. > Tedka chci udelat automat, ktery v jednom stavu spusti nejake > vlakno (bude se asi minutu neco vykonavat) a ceka se na > dokonceni toho vlakna > (pomoci while). Problem je, ze dokud to vlakno bezi, tak GUI > "vytuhne", resp. je busy dokud to provadene vlakno nedobehne. > Jak predat rizeni tomu GUI mezi tim nez dobehne to vlakno? > Nebo jak zaridit, aby to GUI "nevytuhlo"?? > > Diky za rady. > > Martin > >
