2014-12-22 5 views
1

Я новичок в SWT .. Мне нужно написать способ отображения индикатора выполнения. если я использую метод. я должен передавать время и границы в качестве параметра для метода.Как отобразить индикатор выполнения в течение 15 секунд в swt

package ProgressViewer; 
    import org.eclipse.swt.SWT; 
    import org.eclipse.swt.layout.GridLayout; 
    import org.eclipse.swt.widgets.MessageBox; 
    import org.eclipse.swt.widgets.ProgressBar; 
    import org.eclipse.swt.widgets.Shell; 

    public class PBMethod 
    { 
     private static Shell shell; 

     public static void Pv7(Shell shell2,final int num,final int xA,final int xB,final int xH,final int xW) 
     { 
      shell=shell2; 

      final ProgressBar bar = new ProgressBar(shell, SWT.NONE); 
      bar.setSize(1500, 1000);  

      shell.setLayout(new GridLayout()); 
      shell.setSize(1500, 1000); 

      final Thread thread = new Thread() 
      { 
       public void run() 
       { 
        for(int i=0; i<=num; i++) 
        { 
         final int value = i; 
         try 
         { 
          Thread.sleep(50);  
         } 
         catch (Exception e){} 
         shell.getDisplay().asyncExec(new Runnable() 
         { 
          public void run() 
          { 
           bar.setBounds(xA,xB,xH,xW); 
           bar.setSelection(value); 
          } 
         }); 
        } 
        shell.getDisplay().syncExec(new Runnable() 
        { 
         public void run() 
         { 
          bar.dispose(); 
          MessageBox dialog1 = new MessageBox(shell, SWT.NONE| SWT.OK| SWT.CANCEL); 
          dialog1.setText("Information"); 
          dialog1.setMessage("Saved Successfully"); 
          dialog1.open(); 
         } 
        }); 
       } 
      }; 
      thread.start(); 
     } 
    } 

Вот это выше способ прохождения границы и процент .. но не время .. Прогресс бар должен отображаться в течение 10 секунд .. или 15 секунд .., что я должен дать только параметр ..

Но в отправленном коде второй параметр используется для процента завершения индикатора выполнения. Параметр должен быть передан на время отображения средства просмотра прогресса, например. 10 на 10 секунд. Если мы хотим изменить его на 15, должно быть только изменение значения параметра.

Помощь будет оценена !!!

ответ

0

На самом деле, индикатор прогресса выполнен с целью показать ход выполнения задачи, и время завершения задачи всегда меняется, поэтому нет такого метода, который требует времени в качестве параметра. Даже если вы найдете способ сделать это, это никогда не будет хорошей практикой.

+0

Спасибо за ваш комментарий @ Jprogrammer – afu

Смежные вопросы