Hi,

I would appreciate if someone could help me with the following doubt:

Scenario:
-------------
I made a form using java swing, which has some buttons.
To all the buttons I added an ActionListener - which will implement the
actionPerformed() function.

Problem:
------------
Some of the actions performed when the user presses one button take some
minutes (not too much), however I thought of
showing JOptionPane.showMessageDialog() presenting the message "Processing
task" while the user waits for the results...

Tried solution:
-------------------
I made a class which estends Thread:

public class OperationProgressThread extends Thread
{

   private static JOptionPane jOptionPane;

   public OperationProgressThread ()
   {
      jOptionPane = new JOptionPane();
   }

   public void run()
   {
      jOptionPane.showMessageDialog( null, "Please wait...", "",
JOptionPane.INFORMATION_MESSAGE);
   }
}

Then in the class where I defined the form, i create a new instance of
OperationProgressThread and invoke the start() and stop()
methods in the beginning and at the end (respectively) of the action to
perform when the button is pressed:

   OperationProgressThread  thread = new OperationProgressThread();

    doImport.setPreferredSize(new java.awt.Dimension(80, 27));
    doImport.setText("Import");
    doImport.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
            doImportActionPerformed(evt);
         }
      }
      );

   /**
    * The doImportActionPerformed method in this class
    * is called when the user presses the "Import" button.
    */
   private void doImportActionPerformed(java.awt.event.ActionEvent evt)
   {
      thread start();
      boolean bRetVal = false;
      try
      {
         bRetVal = dbIntUser.cmdImportClick( sSelectedInterface );
         System.out.println( "cmdImportClick returned " + bRetVal );
      }
      catch ( ComJniException cje ) { jOptionPane1.showMessageDialog( null,
cje.getMessage(), "Exception", JOptionPane.ERROR_MESSAGE); }
      catch ( Exception e )         { jOptionPane1.showMessageDialog( null,
e.getMessage(), "Exception", JOptionPane.ERROR_MESSAGE);   }
   }
   thread.stop();
}


The problem is that this window is only poped up when the results are
shown.... so I have no clue of what should I do...
Thanks in advance.



_______________________________________________
Advanced-swing mailing list
[EMAIL PROTECTED]
http://eos.dk/mailman/listinfo/advanced-swing

Reply via email to