Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!86597e80!not-for-mail From: "Fred Kleinschmidt" Subject: Re: Question about updati Message-ID: X-Comment-To: comp.lang.java.gui Newsgroups: comp.lang.java.gui In-Reply-To: <1169142559.270713.220110@l53g2000cwa.googlegroups.com> References: <1169142559.270713.220110@l53g2000cwa.googlegroups.com> Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.15a-Win32 NewsLink 1.92] Lines: 53 Date: Wed, 27 Apr 2011 15:29:16 GMT NNTP-Posting-Host: 96.60.20.240 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1303918156 96.60.20.240 (Wed, 27 Apr 2011 10:29:16 CDT) NNTP-Posting-Date: Wed, 27 Apr 2011 10:29:16 CDT Organization: TDS.net Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.gui:740 To: comp.lang.java.gui wrote in message news:1169142559.270713.220110@l53g2000cwa.googlegroups.com... > Hey all, > > I've been so "lucky" that I've inherited a big applet that I would like > to improve. > > It has a set of buttons that perform some very lengthy processes and I > would like to add a progressbar to it, so the user can see that > something is actually happening..;) > > But I cant quite get it to work. The following code shows how the code > is right now, can anyone tell me how I get the loop inside the > MouseAdapter to actually update the progressbar ? (The code needs to be > 1.3 compliant) > > The solution is probably very straightforward, but this is my first > adventure into the world of Swing...:) > > [code] > button.addMouseListener(new MouseAdapter() { > public void mouseClicked(MouseEvent ev) { > for (int i=0; i<101;i++) { > bar.setValue(i); > try { > Thread.sleep(500); > } catch (InterruptedException e) { > e.printStackTrace(); > } > } > } > }); > [/code] > Everything inside the mouseClicked() method (i.e., the task that takes a long time) should be done in a separate thread. As it is now, you are blocking the event thread, so nothing gets re-drawn until you return from that method -- Fred L. Kleinschmidt Boeing Associate Technical Fellow Technical Architect, Software Reuse Project --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24