Побудова графічного контенту застосунків з використанням JavaFX і Swing компонентів і даних, взятих із баз даних

Можливості сумісного застосування компонентів графічного інтерфейсу користувача, які застосовуються в платформі JavaFX та бібліотеці Swing, для розроблення мережевих крос-платформних застосунків. Використання даних, одержаних з таблиць бази даних.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 31.05.2017
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Побудова графічного контенту застосунків з використанням JavaFX і Swing компонентів і даних, взятих із баз даних

Доц. В.П. Карашецький, канд. техн. наук -

НЛТУ України, м. Львів

Анотація

Розглянуто можливості сумісного використання компонентів графічного інтерфейсу користувача, які застосовуються в платформі JavaFX та бібліотеці графічних компонентів Swing, для розроблення настільних і мережевих крос-платформних застосунків. На конкретному прикладі здійснено під'єднання застосунку до створеної бази даних із використанням СКБД MySQL. Модифіковано JavaFX початкові коди для наявних видів діаграм для використання даних, одержаних з таблиць бази даних, які використано для побудови насичених застосунків з графічним контентом. Представлено декілька побудованих застосунків.

Ключові слова: застосунок, графічний інтерфейс, база даних, JavaFX, Swing.

графічний інтерфейс мережевий swing

Технологія JavaFX набір графічних і медіа-пакетів, які дають змогу розробникам створювати клієнтські настільні та мережеві застосунки, що функціонують на різних платформах. Програмний код JavaFX застосунка може посилатися на Application Programming Interface (API) будь-якої бібліотеки Java.

Починаючи з JavaFX 2.2, всі пізніші версії повністю інтегровані з Java SE 7 Runtime Environment (JRE) і комплектом Java Development Kit (JDK). Оскільки JDK доступний для всіх основних настільних платформ (Windows, Mac OS X і Linux), то JavaFX застосунки, скомпільовані в JDK 7, можуть працювати на даних платформах. Крос-платформна сумісність дає змогу використовувати досвід узгодженого виконання застосунків для JavaFX розробників і користувачів. Платформа JavaFX призначена [1] для забезпечення застосунків такими складними функціями графічного інтерфейсу користувача, як плавна анімація, веб-перегляд, відтворення аудіо та відео, стилі на основі каскадних таблиць стилів CSS. Однією з важливих характеристик JavaFX 2.2 і всіх пізніших версій є її сумісність з бібліотекою графічних компонентів Swing. Існуючі Swing застосунки можуть бути збагачені з допомогою таких нових можливостей JavaFX, як насичене графічне медіа відтворення і вбудований веб контент.

Інтеграція JavaFX в Swing застосунки. JavaFX Software Development Kit (SDK) містить в пакеті javafx.embed. swing клас JFXPanel, який дає змогу вставляти JavaFX вміст в Swing застосунки. При співіснуванні Swing і JavaFX даних в одному застосунку можливе виникнення таких двох ситуацій їх взаємодії:

зміна JavaFX даних ініціюється зміною Swing даних;

зміна Swing даних ініціюється зміною JavaFX даних.

У першому випадку JavaFX дані повинні бути доступні тільки в потоці JavaFX Application Thread (JAT). Всякий раз, коли необхідно змінити JavaFX дані, потрібно охопити код в об'єкті Runnable і викликати метод runLater():

Platform.runLater(new Runnable() {

©Override

public void run() {

// Код для зміни JavaFX даних.

}

});

У другому випадку Swing дані повинні бути змінені тільки в потоці Event Dispatching Thread (EDT) і після цього потрібно охопити код в об'єкті Runnable і викликати метод invokeLater():

SwingUtilities.invokeLater(new Runnable() {

©Override

public void run() {

//Код для зміни Swing даних.

}

});

У багатьох проектах використовують Swing застосунки, що мають справу з таблицями. Розглянемо, як можна поєднати табличний компонент JT able з бібліотеки Swing і побудову JavaFX гістограми в одному застосунку, щоб забезпечити барвистість ілюстрації табличних даних, одержаних з бази даних. Для цього внесемо зміни у веб-застосунок [2], який складається з двох файлів:

SampleTableModel.java;

SwingInterop.java.

Клас SampleT ableModel тепер успадковує абстрактний клас AbstractT ableModel і визначає модель таблиці для відображення даних однієї з таблиць (result!) бази даних contest, що містить дані вступних кампаній до НЛТУ України за період 2010-2014 рр.

Використовуючи СКБД MySQL, у конструкторі класу SampleTableModel здійснюємо під'єднання до бази даних contest і запит до таблиці resultl:

public SampleTableModel() { try {

DriverManager.registerDriver (new com.mysql.jdbc.Driver());

String url="jdbc: mysql://localhost:3306/contest";

Connection conn1=DriverManager.getConnection (url,"root","ppp");

Statement st1=con n 1 .createStatement();

ResultSet rs1=st1.executeQuery ("SELECT * FROM resultl");

ResultSetMetaData md1=rs1 .getMetaData(); int colums1=md1.getColumnCount(); int j=0;

while (rs1 .next()) { data[j][0]=rs1 .getString (2);

for (int i= 3; i <= colums1; i++) { data[j][i-2]=rs1.getint (i);

}

j=j+1;

}

st1 .close(); conn1.close();

}

catch (SQLException e) {

System.out.println (e);

}}

Щоб отримати дані для побудови гістограми, клас SampleTableModel модифікується шляхом додавання нової змінної класу bcData і методу getBarChartData(), який одержує дані з таблиці resultl і повертає їх у відповідному форматі для гістограми:

public class SampleTableModel extends AbstractTableModel { private static ObservableList<BarChart.Series> bcData; public ObservableList<BarChart.Series> getBarChartData() { if (bcData == null) {

bcData=FXCollections.<BarChart.Series>observableArrayList(); for (int row=0; row < getRowCount(); row++) {

ObservableList<BarChart.Data>series=FXCollections.<BarChart.Data>observableArrayList();

for (int column=1; column < getColumnCount(); column++) {

series.add (new BarChart.Data (getColumnName (column), getValueAt (row, column)));

}

bcData.add (new BarChart.Series (series));

}}

return bcData;

CategoryAxis xAxis=new CategoryAxis();

xAxis.setCategories (FXCollections.<String>observableArrayList (tableModel. getColumnNames()));

xAxis.setLabel ("Рік");

double tickUnit=tableModel.getTickUnit();

NumberAxis yAxis=new NumberAxis(); yAxis.setTickUnit (tickUnit); yAxis.setLabel ("Кількість студентів");

final BarChart chart=new BarChart (xAxis, yAxis, tableModel.getBarChartData());

tableModel.addTableModelListener (new TableModelListener() {

public void tableChanged (TableModelEvent e) {

if (e.getType() == TableModelEvent.UPDATE) {

final int row=e.getFirstRow();

final int column=e.getColumn();

final Object value=((SampleTableModel) e.getSource()).getValueAt (row, column);

Platform.runLater (new Runnable() { public void run() {

XYChart.Series<String, Number> s=(XYChart.Series<String, Number>) chart.getData().get (row);

BarChart.Data data=s.getData().get (column); data.setYValue (value);

}});

}}

});

return chart;

}

На рис. 1 представлено веб-застосунок із використанням вертикальної гістограми.

Рис. 1 Веб-застосунок із використанням вертикальної гістограми

Рис. 2 Застосунки із використанням інших видів діаграм

Висновки. Технологія ІауаБХ надає широкі можливості для побудови настільних і мережевих крос-платформних застосунків з високоефективним сучасним інтерфейсом користувача, що підтримує графічний контент. Модифікація існуючих вихідних ІауаБХ кодів побудов діаграм з метою під'єднання до баз даних дає змогу розробляти насичені застосунки з використанням графічних залежностей, побудованих на основі даних, одержаних з таблиць баз даних.

Література

1. Машнин Т.С. JavaFX 2.0: разработка RIA-приложений / Т.С. Машнин. СПб. : Изд-во "БХВ-Петербург", 2012. 320 с. (Профессиональное программирование).

2. Fedortsova I., Hilderbrandt N., Northover S. JavaFX Interoperability. Release 8. E50477-01, Oracle, Java Platform, Standard Edition (Java SE) 8, Client Technologies, JavaFX, 2014. 110 с.

3. Redko A., Fedortsova I. Working with JavaFX UI Componets. Release 8. E47848-02, Oracle, Java Platform, Standard Edition (Java SE) 8, All Books, JavaFX, 2014. 442 с.

Размещено на Аllbеst.ru

...

Подобные документы

  • Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.

    реферат [36,8 K], добавлен 14.01.2012

  • Процес і результати проектування автоматизованої системи "Облік паспортних даних", призначеної для автоматизації обліку паспортних даних. Обґрунтування вибору методів та засобів обробки даних. Створення зручного графічного інтерфейсу користувача.

    курсовая работа [1,8 M], добавлен 23.09.2010

  • Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.

    курсовая работа [1,2 M], добавлен 29.02.2012

  • Створення інформаційних таблиць бази даних. Створення екранних форм як засобу організації інтерфейсу користувача. Створення запитів для вибору, сортування і обчислення з використанням даних однієї таблиці. Оформлення звітів за допомогою команд MS Access.

    лабораторная работа [397,7 K], добавлен 09.09.2010

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

  • Робота користувача з базою даних, перегляд, редагування інформації в базі даних та здійснення пошуку у зручній формі. Інтерфейс системи сільській бібліотеці для обслуговування читачів і фіксування даних книжкового фонду. Структура реляційної бази.

    контрольная работа [182,3 K], добавлен 08.03.2015

  • Основні поняття та особливості розробки баз даних в Microsoft Access. Побудова бази даних магазину побутової техніки: створення таблиць та встановлення зв’язків між ними, створення запитів, форм та звітів. Охорона праці і гігієна користувача комп'ютера.

    курсовая работа [2,5 M], добавлен 19.01.2010

  • Ведення обліку даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт). Програма для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних. Візуальна об'єктно-орієнтована мова програмування високого рівня.

    дипломная работа [292,4 K], добавлен 07.06.2010

  • Проектування бази даних: визначення об’єктів, структура таблиць, побудова схеми даних, забезпечення цілісності даних, створення певних відношень між таблицями, створення запитів, побудова форм, оформлення об’єктів. Розробка інструкції користувача.

    курсовая работа [1,9 M], добавлен 19.09.2014

  • Бізнес процеси й елементи даних. Специфікація елементів даних. Діаграма класів проектування. Створення та використання об'єктів бази даних. Таблиці, обмеження цілісності, тригери, типові вибірки, представлення, індекси. Типові оператори модифікації даних.

    курсовая работа [255,3 K], добавлен 01.06.2019

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

  • Виявлення основних сутностей предметної області. Побудова схеми реляційної бази даних. Вбудовані процедури і тригери. Опис архітектури програмної системи і концептуальної моделі бази даних, програмної реалізації та інтерфейсу користувача додатку.

    курсовая работа [4,3 M], добавлен 05.12.2012

  • Визначення та опис бази даних, її структура та зміст головних компонентів, вимоги та напрямки застосування, сторони-учасники, інформаційне забезпечення. Системний аналіз за вхідною та вихідною документацією, побудова ER-моделі, реалізація сутностей.

    курсовая работа [586,1 K], добавлен 02.07.2015

  • Поняття бази даних та основне призначення системи управління. Access як справжня реляційна модель баз даних. Можливості DDE і OLE. Модулі: Visual Basic for Applications програмування баз даних. Система управління базами даних Microsoft SQL Server 2000.

    реферат [41,2 K], добавлен 17.04.2010

  • Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.

    курсовая работа [1,4 M], добавлен 29.04.2010

  • Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.

    дипломная работа [4,7 M], добавлен 12.10.2015

  • Розробка бази даних для меблевої фірми. Обстеження і аналіз предметної області та побудова концептуальної, логічної та фізичної моделі цієї бази даних. Використання мови програмування Visual Basic при написанні програмного коду, що обслуговує базу даних.

    курсовая работа [1,4 M], добавлен 24.10.2010

  • Форми вихідних документів. Перелік запитів до бази даних. Побудова інфологічної моделі, її структурні компоненти: сутності, зв’язки та відносини. Перелік таблиць, опис запитів. Загальна характеристика та головний зміст форм розроблюваної бази даних.

    курсовая работа [414,5 K], добавлен 31.01.2014

  • Архітектура Web-баз даних. Загальні відомості про мову SQL. Створення таблиць баз даних. Використання бібліотеки для пошуку інформації. Аутентифікація за допомогою РНР й MySQL. Зберігання паролів в окремому файлі на сервері, використання бази даних.

    курсовая работа [913,8 K], добавлен 12.01.2010

  • Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.

    курсовая работа [147,2 K], добавлен 02.06.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.