Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2022-10-10 | 60 |
5.00
из
|
Заказать работу |
|
|
Итак! У нас где-то 30 минут на лабораторную работу. Потом пообедаем. А потом скажете, сколько вам нужно еще времени.
Упражнение 1 (JavaFX). Задача: реализовать асинхронное выполнение операции для приложения JavaFX с отображением прогресса. - Откройте проект из каталога \Лабы Java2\3-JavaFX\Lab2\synkVersion\... - Откройте файл FindTask.java. - Добавьте наследование класса FindTask от класса Task<Void>. - Закомментируйте синхронный метод “doWork()”. - Создайте в классе коллекцию LinkedList состящую из строк и с именем “list”. - Переопределите метод “call()” унаследованный от класса Task<Void>. В этом методе напишите код для запуска поиска файлов на диске: · Создайте объект класса “File” с именем “file”. Используйте параметр “path” при создании этого объекта; · Проверьте, что объект содержит имя каталога, и если да, то вызовите метод “findIn(file)”. · Верните null - Переопределите метод “cancelled()” унаследованный от класса Task<Void>. Данный метод вызывается при отмене асинхронной операции. Добавьте в метод следующий код: items1.add(“canceled by user....”); updateScene(); - Переопределите метод “succeeded()” унаследованный от класса Task<Void>. Метод вызывается при успешном окончании асинхронной операции. Добавьте в метод следующий код: items1.addAll(list); items1.add(“finded ”+items1.size()+” files”); updateScene(); - Создайтеметод “void updateScene()”. Добавьте в метод следующий код: · Вызовите унаследованный метод “updateProgress()” с параметрами SIZE и SIZE, что означает полное выполнение/отмена асинхронной работы; - В методе findIn(): · после объявления массива “files” проверьте, что была произведена отмена асинхронной операции и если да, то завершите этот метод; · в операторе if-else измените имя коллекции на “list”; · в конце метода вызовите “updateProgress()” с параметрами list.size() и SIZE. - Откройте файл GridPaneController.java. - Объявите приватную переменную класса “Task” и с именем “task” в классе контроллера. - В методе “btnFindClick()”: · инициализируйте ссылку “task” созданным объектом класса “FindTask” с параметрами items, path, end. Уберите вызов метода doWork(); · ниже добавьте код для привязки свойства “progressProperty()” объекта “barId” к соответствующему свойству объекта “task”. Свойство progress теперь привязано, а следовательно нельзя вызывать на нём метод setProgress(). Закомментируйте все вызовы метода setProgress() в этом классе. · послекомментария //runasynkTaskinconcurrentversionнапишитекод: Thread thread=new Thread(task); thread.setDaemon(true); thread.start(); - В методе ”btnCancelClick()” добавьте код отмены асинхронной операции: if (task!=null) task.cancel(); - Запустите приложение и нажмите кнопку с надписью “Find”. |
|
Был код такой:
Рабочая версия:
Остальные модули не изменились.
Модуль 4. Web-приложения Java
|
|
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!