Помощь в учёбе, очень быстро...
Работаем вместе до победы

Реализация. 
Мультиагентная система для анализа и веб-сёрфинга

РефератПомощь в написанииУзнать стоимостьмоей работы

Рисунок 12. Третий экран приложения — индикатор процесса обработки, сбора и анализа данных Четвертый экран — последний, показывает результаты работы системы — рекомендации. Обратно возвращается JPanel, делая не видимой JFXPanel, и динамически создаются блоки рекомендации. Каждый блог предствляет собой JLabel — заголовок статьи по нажатию на который статья открывается в браузере, JLabel созданный… Читать ещё >

Реализация. Мультиагентная система для анализа и веб-сёрфинга (реферат, курсовая, диплом, контрольная)

Для реализации системы «EZSurf» была использована среда разработки Netbeans IDE 8.0. Для проверки используемых API (lastfm.ru, themoviedb.com, VK API) применялся такой инструмент как «Postman-REST Client», который позволяет проверить работоспособность API, рассмотреть структуру JSON ответа. На рисунке 8 показан пример работы c LasfFM API.

Пример работы с LastFM API через .

Рисунок 8. Пример работы с LastFM API через «Postman-REST Client» .

Для разработки базы данных и последующего с ней взаимодействия использовался инструмент pgAdmin III для работы с СУБД PostgreSQL (Рис. 9).

Пример работы с pgAdmin III.

Рисунок 9. Пример работы с pgAdmin III.

Реализация интерфейса

Реализация интерфейса при написании системы «EZSurf» вызвала немало сложностей, по большей части, потому что толком никакой информации о создании интерфейсов для мультиагентных систем найдено не было. Изначально было задумана полная реализация интерфейса на JavaFX, необходимо было, каким то образом, создавать экземпляр агента и передавать его контроллеру, однако возникла проблема с потоками JADE агентов и JavaFX Application Thread, при исполнении которых возникали исключительные ситуации.

В итоге при реализации интерфейса использовались две стандартных библиотеки Java Swing и JavaFX (начиная с JDK 1.7). Был найден способ использования отдельных компонентов интерфейса библиотеки JavaFX в Java Swing фрейме, который в свое время мог принимать экземпляр агента в качестве параметра в конструкторе. Такой подход позволил создавать окно приложения из потока агента в методе setup посредством передачи в конструктор объекта формы указателя на самого себя — this (см. стр. Приложения текст программы строка…).

Весь интерфейс прописан в классе CollectorGuiAuth. java (см. Рис. 14), который наследует класс JFrame — стандартный класс Java Swing для создания форм приложения. Из-за такого не стандартного подхода к созданию интерфейса, все состояния интерфейса рисуются на одном и том же фрейме, посредством установки свойства видимости компонентов в значение false и динамического создания компонентов. То есть экраны разные, но объект используется для их отображения один и тот же.

На первом экране приложения использованы компоненты библиотеки JavaFX WebView, WebEngine и компонент библиотеки Java Swing — JFXPanel, который позволил встроить JavaFX объекты в JFrame (Рис. 10).

Первый экран приложения - Авторизация .

Рисунок 10. Первый экран приложения — Авторизация «ВКонтакте» .

На втором экране после успешного прохождения авторизации появляется экран с кнопкой запуска основного функционала. JFXPanel принимает значение видимости false, и создается объект обычной JPanel из библиотеки Java Swing (Рис. 11).

Второй экран приложения - Запуск сбора, обработки, анализа приложение профиль вконтакте серфинг.

Рисунок 11. Второй экран приложения — Запуск сбора, обработки, анализа приложение профиль вконтакте серфинг На третьем экране снова понадобился компонент из библиотеки JavaFX — ProgressIndicator. Для того чтобы наглядно показать процесс сбора, обработки, анализа данных добавляем JFXPanel с ProgressIndicator на основной фрейм, а у JPanel второго экрана устанавливаем свойство видимости в значение false (Рис. 12).

Третий экран приложения - индикатор процесса обработки, сбора и анализа данных.

Рисунок 12. Третий экран приложения — индикатор процесса обработки, сбора и анализа данных Четвертый экран — последний, показывает результаты работы системы — рекомендации. Обратно возвращается JPanel, делая не видимой JFXPanel, и динамически создаются блоки рекомендации. Каждый блог предствляет собой JLabel — заголовок статьи по нажатию на который статья открывается в браузере, JLabel созданный из объекта ImageIcon, который в свою очередь создан из URL обложки статьи, и JTextArea — описания статьи (Рис. 13).

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

Рисунок 13. Последний экран приложения — результаты работы системы.

Показать весь текст
Заполнить форму текущей работой