Друзья, привет, вопрос, который решить не могу уже 3-й день. Я новичок, код подчистил как мог, большинства функционала программы не показывал, дабы не засорять сообщение, я уверен ,что ошибка кроется в этих методах, но не могу её найти. Есть метод requestQuery(String query), он подключается к классу базе данных SQLite через класс SQLite (не показал, т.к. там ничего особо нет) , класс Product типичный POJO(с гетерами и сеттерами) класс , есть 2 кнопки одна btnBurgerKing , которая вызывает файл BurgerKing.fxml , а другая btnKFC , которая тоже вызывает свой файл KFC.fxml , и метод хорошо работает, забирает из БД все табличные значения, но погружает в одну TableView обе таблицы , а не в каждую свою .В каждом fxml-файле есть TableView с одним и тем-же id. Не понимаю что не так? Const.REQUEST_BURGER_KING = "SELECT * FROM burger_king" Const.REQUEST_KFC = "SELECT * FROM kfc"
@Override
    public void initialize(URL location, ResourceBundle resources) {

        requestQuery(Const.REQUEST_BURGER_KING);
        requestQuery(Const.REQUEST_KFC);

        tabColName.setCellValueFactory(new PropertyValueFactory<>("name"));
        tabColProtein.setCellValueFactory(new PropertyValueFactory<>("protein"));
        tableColFat.setCellValueFactory(new PropertyValueFactory<>("fats"));
        tableColCarb.setCellValueFactory(new PropertyValueFactory<>("carbs"));
        tableColCal.setCellValueFactory(new PropertyValueFactory<>("calories"));
        tableViewProducts.setItems(tableProductData);
    }

    private void requestQuery(String query){
        try {
            SQLiteClient.connectDB();
            SQLiteClient.resultSet = SQLiteClient.connection.createStatement().executeQuery(query);
            while (SQLiteClient.resultSet.next()) {
                Product product = new Product();
                product.name.set(SQLiteClient.resultSet.getString(Const.TABLE_NAME));
                product.protein.set(SQLiteClient.resultSet.getDouble(Const.TABLE_PROTEIN));
                product.fats.set(SQLiteClient.resultSet.getDouble(Const.TABLE_FATS));
                product.carbs.set(SQLiteClient.resultSet.getDouble(Const.TABLE_CARBS));
                product.calories.set(SQLiteClient.resultSet.getInt(Const.TABLE_CALORIES));
                tableProductData.add(product);
            }
            SQLiteClient.closeDB();
        } catch (SQLException | ClassNotFoundException e) {
            e.getStackTrace();
        }
    }
}
метод , который открывает по кнопке из другого класса : productWindow - это путь к файлу fxml.
private void openNewProductWindow(Button btn, String productWindow, String windowTitle) {
        btn.setOnAction(event -> {
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(getClass().getResource(productWindow));
            try {
                loader.load();
            } catch (IOException e) {
                e.printStackTrace();
            }
            Parent root = loader.getRoot();
            Stage stage = new Stage();
            stage.setTitle(windowTitle);
            stage.setScene(new Scene(root));
            stage.showAndWait();
        });
    }
Объявление метода openNewProductWindow :
@FXML
    void initialize() {
openNewProductWindow(btnBurgerKing,Const.BURGER_KING_WINDOW,"Burger King menu");
 openNewProductWindow(btnKFC,Const.KFC_WINDOW,"Kentucky Fried Chicken");
}
Я уже и так и сяк, и методы по-другому переписывал и закрывал DB в разных местах, всё что получал, это то ,что таблица burger_king из DB SQLite открывалась в KFC.fxml Отладчиком я проходился и увидел, что если метод принимает первым requestQuery(Const.REQUEST_BURGER_KING); , то даже если нажать на кнопку открытия окна KFC.fxml , открывается KFC.fxml , но TableView в любом случае сначала заполняет данными из таблицы burger_king и только потом заполняет данными kfc , хотя по идее должно быть что заполнилось только kfc.