Побудова графічного контенту застосунків з використанням 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