Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация ProgressBar 
:(
    Опции темы
bulat01
Дата 8.12.2011, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 26.10.2010

Репутация: нет
Всего: 0



Привет всем спецам, 
у меня проблема - есть приложение для загрузки документов из локальной системы в систему Документум.

на GUI хотел реализовать ProgressBar показывающую процент загрузки для загружаемых документов,
но как связать метод для загрузки с прогресс-баром не знаю.

вот код для метода:

Код

public void doLoadCompanyDoc() throws IOException {
        loadingFileLoc_DP = DataVarStore.getLLF();    
        CsvReader reader = new CsvReader(DataVarStore.getPVRF());
        reader.readHeaders();

        //checking if session was successfully passed
        session_dp = null;
        session_dp = DataVarStore.getSession();//if not successfully, it will print it out "Session is null!!!"
        if (session_dp == null) {
            System.out.println("Session is null!!!");
        }
        
        Writer log_loading_output = null;
        File file = new File (loadingFileLoc_DP);
        log_loading_output = new BufferedWriter(new FileWriter(file));
        
        while (reader.readRecord()) {
        try {
            
                    but_load.setEnabled(false);
                    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                    
                  //System.out.println(session_dp.getDocbaseId()+ " " + session_dp.getDocbaseName());
                  String object_name = reader.get("AKCO Document Number");
                     String qualification = "dm_document where object_name ='" + object_name  + "'";
                     loading_doc = (IDfSysObject) session_dp.getObjectByQualification(qualification);             
                     
                     copy_check_for_new_doc = DataVarStore.getOptChecked_CreateNewDoc();
                     copy_rb_new_doc = DataVarStore.getOptChecked_NewDoc();
                     copy_rb_next_minor_version = DataVarStore.getOptChecked_NextMinor();
                     copy_rb_next_major_version = DataVarStore.getOptChecked_NextMajor();
                     copy_check_for_update_attrs = DataVarStore.getOptChecked_AttrUpdate();
                     
                     
                     if (loading_doc == null && copy_check_for_new_doc.isSelected()==true && copy_rb_new_doc.isSelected() == true && reader.get("Validation Status").equals("true") ){
                         //fos.write(columns.getBytes());
                         
                         //Validation Block
                         //if Validation Status = Valid e.g if (reader.get("Document Status")== VALID) then below Block to be executed
                         
                      loading_doc = (IDfSysObject)session_dp.newObject("ak_company");    
                      doc_status = true;
                      loading_doc.setString("object_name", reader.get("AKCO Document Number"));    //if it is active, re-writes document name -all docs in attr sheet will have doc name as last updating doc name
                      setAttributes(loading_doc, reader);
                        loading_doc.link(reader.get("Documentum Folder Path"));
                        loading_doc.setString("csi_doc_type_name", reader.get("DCS Document Type"));
                         loading_doc.setContentType(reader.get("Format"));
                         loading_doc.setFile(reader.get("Primary Content"));
                         loading_doc.setString("csi_lc_name", "Fixed");
                      loading_doc.saveLock();
                      IDfSysObject busPolicyObj = (IDfSysObject)session_dp.getObject(new DfId("4601395c80000d52"));//Attaching policy "Fixed" to new loading object having object_id: 46e510a880000600 
                      loading_doc.attachPolicy(busPolicyObj.getObjectId(), "Issued", "");
                      loading_doc.save();
                      log_loading_output.write("Document - New Object: " + reader.get("AKCO Document Number") + " loaded successfully." + "\n");
                      System.out.println("Loaded as New Version for object: " + loading_doc.getObjectName().toString());
                  }
                     
                  else if (loading_doc!=null && loading_doc.isCheckedOut() == true && reader.get("Validation Status").equals("true")){
                         log_loading_output.write("false Document: " + reader.get("AKCO Document Number") + " locked " + "\n");
                               System.out.println("Object Name: " + loading_doc.getObjectName() + " is checked out. Operation cannot be proceeded" + "\n");
                              // task = new Task();
                              // task.addPropertyChangeListener(this);
                              // task.execute();
                        }
                     
                     log_loading_output.write("**************************** Finish for Row ****************************" + "\n");
            }    
            catch  (DfException e){
             System.out.println(e);
            };}
           reader.close();
           log_loading_output.close();
      }


Метод берет данные из CSV файла.

Информация на GUI должна показывать:
Если загружаю к примеру 20 документов в общем.  - > Если загружено 10 документов,  показывает - 'Прогресс 50%' - GUI.







PM MAIL   Вверх
_Y_
Дата 8.12.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Там хитрость есть. Прогресс бар и отражаемый им процесс лучще поместить в разные  Thread иначе весь UI подвисает. 

У меня где-то были классы написанные давно когда-то для этих целей. Если нужно - могу порыться в бакапах. Единственно - плохо помню как они были устроены - разбираться в них приодеться с очень сомнительной помощю с моей стороны smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
jk1
Дата 9.12.2011, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Вот пример, там все по-русски разжевано


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Skipy
Дата 13.12.2011, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 4
Всего: 16





--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
mstalker26
Дата 13.12.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 4.7.2009

Репутация: 3
Всего: 11



Skipy, уже 7 месяцев как тишина у Вас на сайте. Времени совсем не остается?

P.S. народ требует продолжения  smile 
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
Skipy
Дата 16.12.2011, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 4
Всего: 16



Цитата(mstalker26 @ 13.12.2011,  14:52)
Skipy, уже 7 месяцев как тишина у Вас на сайте. Времени совсем не остается?

P.S. народ требует продолжения  smile

Чем громче в жизни - тем тише на сайте. Я сейчас руковожу разработкой новой системной платформы, как главный архитектор, один из главных аналитиков и руководитель разработки. Вчера, например, до половины четвертого писал концепцию технологии разработки в трех разрезах - управленческом, технологическом и инфраструктурном, сравнивал четыре линейки продуктов. Потом (!) чинил один из стендов. Так, к счастью, не каждый день, но часто. Уже полгода.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.