Как передать данные из БД в таблицу TableView - Java
Формулировка задачи:
Данный класс отвечает за соединение с БД
Этот контроллер служит для заполнения TAbleView
Проблема в том что я не знаю как передать В контроллер соединение которое произошло в классе DBUtil и передать select в таблицу.
Прошу помощи SOS, HELP
Листинг программы
- package util;
- import java.sql.*;
- public class DBUtil {
- public DBUtil() throws ClassNotFoundException {
- try {
- Class.forName("oracle.jdbc.OracleDriver");
- } catch (ClassNotFoundException e) {
- System.out.println(e.getMessage());
- }
- try {
- Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1203:xxit_d", "RU_SVC", "123456");
- } catch (SQLException e) {
- System.out.println(e.getMessage());
- }
- }
- }
Листинг программы
- package controller;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Button;
- import javafx.scene.control.MenuItem;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableView;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.stage.FileChooser;
- import javafx.stage.Window;
- import model.TableView_Head;
- import org.xml.sax.SAXException;
- import util.DBUtil;
- import javax.xml.parsers.ParserConfigurationException;
- import java.io.File;
- import java.io.IOException;
- import java.net.URL;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ResourceBundle;
- public class FXMLMainController implements Initializable, Cloneable {
- @FXML
- public MenuItem btnMenuAdd;
- @FXML
- public MenuItem Close;
- @FXML
- public MenuItem Help;
- @FXML
- public MenuItem About;
- @FXML
- public Button btnAddFile;
- @FXML
- public TableView <TableView_Head> TableView_Head;
- @FXML
- public TableColumn<TableView_Head, String> DateColumn;
- @FXML
- public TableColumn <TableView_Head, String> NameFileColumn;
- @FXML
- public TableColumn <TableView_Head, String> TypeFileColumn;
- @FXML
- public TableColumn <TableView_Head, String> StatusFileColumn;
- @FXML
- public Button btnExit;
- @FXML
- public Button btnSearchFile;
- public TableColumn tabFamiliya;
- public TableColumn tabFName;
- @FXML
- private Window primaryStage;
- private ObservableList<TableView_Head> AddData = FXCollections.observableArrayList();
- public FXMLMainController() throws ClassNotFoundException {
- }
- //Метод для добавления информации из таблицы БД
- private void DatabaseInfo() throws SQLException, ClassNotFoundException {}
- DBUtil db = new DBUtil();
- //Метод initialize - Столбцы из БД
- public void initialize(URL location, ResourceBundle resources) {
- DateColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FDT"));
- NameFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FNAME"));
- TypeFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FTYPE"));
- StatusFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FSTATUS"));
- try {
- DatabaseInfo();
- } catch (SQLException | ClassNotFoundException e){
- e.printStackTrace();
- }
- }
- //Обрабатываем кнопки
- public void handleButtonAction(ActionEvent actionEvent) throws ParserConfigurationException, IOException, SAXException {
- Object source = actionEvent.getSource();
- //Проверяем нажата ли кнопка, если нет то выходим из цикла
- if (!(source instanceof Button)) {
- return;
- }
- switch (((Button) source).getId()) {
- //Обрабатываем событие выбора файла
- case "btnAddFile": {
- FileChooser fileChooser = new FileChooser();
- //Задаем фильтр, чтоб пользователь видел только файлы с расширением xml
- FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Файлы XML (*.xml)", "*.xml");
- fileChooser.setInitialDirectory(new File("C:/1/"));
- //Задаем имя для диалогового окна
- fileChooser.setTitle("Открыть файл для загрузки");
- fileChooser.getExtensionFilters().add(extFilter);
- //Открывам диалоговое окно
- File file = fileChooser.showOpenDialog(primaryStage);
- //Цикл если файл не выбран, то выход или начинаем парсить, запускаем класс XmlParser
- if (file != null) {
- System.out.println(file);
- XmlParser xmlParser = new XmlParser();
- xmlParser.parse(file.getPath());
- } else {
- System.out.println("Файл не выбран");
- }
- }
- break;
- case "btnSearchFile": {
- System.out.println();
- }
- break;
- case "btnExit": {
- System.exit(0);
- }
- break;
- }
- }
- public void Close() {
- }
- public void Help() {
- }
- public void About() {
- }
- }
Решение задачи: «Как передать данные из БД в таблицу TableView»
textual
Листинг программы
- <?xml version="1.0" encoding="UTF-8"?>
- <?import javafx.scene.control.TableColumn?>
- <?import javafx.scene.control.TableView?>
- <?import javafx.scene.layout.GridPane?>
- <GridPane alignment="center" hgap="10" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.111" fx:controller="sample.Controller">
- <children>
- <TableView fx:id="TableTest" prefHeight="200.0" prefWidth="200.0">
- <columns>
- <TableColumn fx:id="column1" maxWidth="-1.0" minWidth="-1.0" prefWidth="-1.0" text="C1" />
- </columns>
- </TableView>
- </children>
- </GridPane>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д