Java и MySQL база данных / Разработка приложения на JavaFx

Java и MySQL база данных / Разработка приложения на JavaFx

https://t.me/javatg


Java и MySQL база данных / Разработка приложения на JavaFx


Язык Java обладает большим набором функций, за счет которых вы можете построить как приложение под мобильное устройство, так и программу для ПК. Давайте создадим программу «Список дел» на JavaFx.



Инструменты что нам понадобятся

Наш проект будет не столь гигантским, но все же увесистым в плане количества функций и набора библиотек. Для разработки проекта нам понадобится:

  • установленная на компьютере Java;
  • среда разработки, например, IntelliJ IDEA;
  • библиотека JavaFx;
  • коннектор MySQL для работы с базой данных.


Создание проекта

Через любую среду разработки создайте новый JavaFx проект.




После создания проекта нужно добавить библиотеку JavaFx. Если вы работаете с Intellij IDEA, то вам нужно зайти в «File - Project Structure», далее перейти в модули и добавить в качестве нового модуля все файлы из папки lib, что находится в скачанной папке JavaFx. После добавления не забываем установить галочку, а также нажать на Окей.




После заходим в настройки: «Run - Edit configuration» и в поле «VM Options» прописываем полный путь к папке JavaFx:

--module-path
D:\Java\javafx-sdk-11.0.2\lib (Вот здесь прописываете ваш путь)
--add-modules
javafx.controls,javafx.fxml


Установка MySQL коннектора

Точно в таком же формате подключаем коннектор MySQL. Находим в Google коннектор MySQL для Java и скачиваем его на компьютер. Заходим в «File - Project Structure» и добавляем новую библиотеку – MySQL. Теперь проект настроен и мы можем приступить к созданию дизайна и написанию кода.


Для работы с базой данных вам также потребуется локальный сервер. Урок по работе с локальным сервером и программой PhpMyAdmin представлен ниже:





Создание дизайна

Для создания дизайна используйте программу Scene Builder. Внутри неё откройте ваш проект, а именно файл «sample.fxml». Через эту программу вы можете прописать весь дизайн для приложения. 




После перетаскивания объектов и добавления к ним стилей, вы можете добавить ID для объектов, с которыми вы будете взаимодействовать, а также вам стоит указать рабочий контроллер для обработки всех функций в приложении.




В этой же программе можно посмотреть готовый вариант дизайна, а также же можно получить шаблон кода для класса контроллера. Для этого переходим: «View - Show sample skeletone code», где мы получаем весь код и копируем его. Этот же код разместите в контроллере вашего приложения.


Создание функций

Остается прописать весь функционал. Ниже представлен полный код основного контроллера, но также по этой ссылке вы можете скачать готовый проект всей программы.


Код класса контроллера: 

package sample;

import java.net.URL;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.ResourceBundle;

import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;

public class Controller {

 @FXML
 private ResourceBundle resources;

 @FXML
 private URL location;

 @FXML
 private TextField main_field;

 @FXML
 private Button add_task;

 @FXML
 private VBox all_tasks;

 // Объект на основен нашего класса для работы с БД
 DB db = null;

 @FXML
 void initialize() {

  // Инициируем объект
  db = new DB();

  // Обработчик события. Сработает при нажатии на кнопку
  add_task.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
   // Метод, что будет срабатывать
   @Override
   public void handle(MouseEvent mouseEvent) {
    try {
     // Проверяем является ли поле заполненным
     if(!main_field.getText().trim().equals("")) {
      // Вызываем метод из класса DB
      // через этот метод будет добавлено новое задание
      db.insertTask(main_field.getText());
      loadInfo(); // Метод для подгрузки заданий внутрь программы
      main_field.setText(""); // Очищаем поле
     }
    } catch (SQLException e) { // Отслеживаем ошибки
     e.printStackTrace();
    } catch (ClassNotFoundException e) {
     e.printStackTrace();
    }
   }
  });

  // Метод для подгрузки заданий внутрь программы
  loadInfo();
 }

 // Метод для подгрузки заданий внутрь программы
 void loadInfo() {
  try {
   // Сначала очищаем от прошлых значений
   all_tasks.getChildren().clear();

   // Получаем все задания из базы данных
   ArrayList<String> tasks = db.getTasks();
   for(int i = 0; i < tasks.size(); i++) // Перебираем их через цикл
    // Добавляем каждое задание в объект VBox (all_tasks)
    all_tasks.getChildren().add( new Label( tasks.get(i)));
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
}

Видео на эту тему

Также вы можете просмотреть детальное видео по разработке данного приложения:

https://t.me/android_its


Источнник


Report Page