blackeangel |
04-06-2017 15:11 2742035 |
Обращения из класса в класс
В общем есть такая ситуация. Есть 2 класса - в первом находится форма с кнопочками, чекбоксами и прочими прелестями.
Во втором классе происходят все вычисления. Внимание вопрос: как заставить прогресс бар заполняться?
вызывать еще раз через
Код:
new Class1().progressBar1.setValue(30);
не вариант, так как создает еще один экземпляр формы.
И еще одна неприятность: метод во втором классе - статический.
Как быть то?
|
Цитата:
Цитата blackeangel
И еще одна неприятность: метод во втором классе - статический. »
|
А можно посмотреть на эти классы?
|
blackeangel |
04-06-2017 22:54 2742133 |
Вложений: 1
- 3.rar (8.50 KB, скачиваний: 12)
shisik, да пожалуйста, в них нет ничего такого
|
Я вижу 3 класса: Generator и его наследников Generater и Functions. progressBar1 определён в классе Generator как public, а значит существует и в его наследниках. Так что и откуда надо вызывать?
|
blackeangel |
05-06-2017 05:02 2742163 |
Из наследника Generater изменить значение прогресс бара, без вызова ещё одной формы.
|
blackeangel, странно, конечно. Зачем эти классы делать анследниками? Ну хорошо, попробуем. Что если в Generator добавить статический член
Код:
protected static Generator instance;
и в main сохранить в него созданный объект:
Код:
instance = new Generator();
А потом где нужно в наследнике вызывать метод установки прогресса:
Только что будет вызывать методы наследников?
|
blackeangel |
06-06-2017 10:26 2742396 |
То что искал! Спасибо большое!)
|
blackeangel |
06-06-2017 16:25 2742474 |
shisik, скажите, а как разделить на несколько потоков, для того чтобы обновлялся прогресс бар?
|
blackeangel |
06-06-2017 17:17 2742490 |
Цитата:
Цитата shisik
(Сообщение 2742476)
|
Это я читал уже. Но осталось непонятным, как это прикрутить к моему проекту?
|
blackeangel, ну как? Поместить в отдельынй поток код, требующий длительного времени для выполнения (собственгно, решающий задачу), и периодически в из него посылать сигнал с новым значением погресса.
|
blackeangel |
06-06-2017 22:46 2742559 |
Цитата:
Цитата shisik
(Сообщение 2742540)
blackeangel, ну как? Поместить в отдельынй поток код, требующий длительного времени для выполнения (собственгно, решающий задачу), и периодически в из него посылать сигнал с новым значением погресса.
|
Хорошо, а будут ли доступны из того потока публичные константы из потока гуи?
|
blackeangel, да, будут. Если только константы - то не страшно, а вот если писать какие-то данные, то нужно синхронизировать.
|
Время: 22:46.
© OSzone.net 2001-