Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #17559

Re: Can you get this SwingWorker code to work more than once

From "markspace" <markspace@1:261/38.remove-k2r-this>
Subject Re: Can you get this SwingWorker code to work more than once
Message-ID <5023FE41.56508.calajapr@time.synchro.net> (permalink)
Newsgroups comp.lang.java.programmer
References <5023FE40.56506.calajapr@time.synchro.net>
Date 2012-08-09 18:44 +0000
Organization tds.net

Show all headers | View raw


  To: clusardi2k
From: markspace <-@.>

On 8/9/2012 8:55 AM, clusardi2k@aol.com wrote:

> On Thursday, August 9, 2012 11:48:04 AM UTC-4, Eric Sosman wrote:
>> On 8/9/2012 11:24 AM, ... wrote: > Here is a project that works
>> perfectly only the first time. [...] Quoth the JavaDoc: "SwingWorker is only
>> designed to be executed once. Executing a SwingWorker more than once will
not
>> result in invoking the doInBackground method twice." If you want to do a
>> background task N times, you'll need N instances of SwingWorker, one per
task
>> execution. -- Eric Sosman esosman@ieee-dot-org.invalid

>
> So, I want a project to do the following:
>
> (1) Display a button when the project is run,
> (2) When the user presses the button, a label is displayed.
> (3) The project next executes three long "for" loops such as in a previous
post of this thread.
> (4) When the three "for" loops are finished, the label disappears.
>
> Question: How can I repeatedly do steps (2) through (4) above when a project
is started?


In this case just move the "new Non_GUI_Stuff()" inside the actionPreformed() 
method.  Then "new" will get executed each time the user presses the button, 
you'll get a new object that you can execute with no problems.


     jButton1.addActionListener(new ActionListener()
     {
         public void actionPerformed(ActionEvent e)
         {
             //The "Hello World" label that appears
             //when button is pressed

             Non_GUI_Stuff task = new Non_GUI_Stuff();

             jLabel1.setVisible (true);

             task.execute();
         }
      });


If all you really want to do is delay the label disappearing, use a Timer 
instead of for-loops.

--- BBBS/Li6 v4.10 Dada-1
 * Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Can you get this SwingWorker code to work more than once "clusardi2k" <clusardi2k@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000
  Re: Can you get this SwingWorker code to work more than once "Eric Sosman" <eric.sosman@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000
    Re: Can you get this SwingWorker code to work more than once "clusardi2k" <clusardi2k@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000
      Re: Can you get this SwingWorker code to work more than once "markspace" <markspace@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000
      Re: Can you get this SwingWorker code to work more than once "Eric Sosman" <eric.sosman@1:261/38.remove-tos-this> - 2012-08-09 19:46 +0000
    Re: Can you get this SwingWorker code to work more than once "clusardi2k" <clusardi2k@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000
      Re: Can you get this SwingWorker code to work more than once "Eric Sosman" <eric.sosman@1:261/38.remove-tos-this> - 2012-08-09 19:46 +0000
  Re: Can you get this SwingWorker code to work more than once "Knute Johnson" <knute.johnson@1:261/38.remove-k2r-this> - 2012-08-09 18:44 +0000

csiph-web