Концепция взаимодействия методов в JavaFX (MVC)

378
22 февраля 2017, 21:04

Пишу (учусь писать) программу на JavaFX, используя паттерн Model-View-Controller, причем, в добавок, клиент-серверное приложение. На сервере хранятся классы с методами, удаления, создания, и т.д. Хочется сделать все грамотно, в стиле ООП. В чем подвох... Методы не работают, когда я их запрашиваю с класса на сервере. А если сам код помещать в клиентскую часть - все работает. Даже не могу предположить, в чем может быть ошибка, хотя и чувствую, что она "глупая". Чуть ниже прилагается код для понимания:

Класс EditMenuController (на клиенте, контроллер fxml файла);

    Object source = actionEvent.getSource();
    if (!(source instanceof Button)) {
        return;
    }
    Food selectedFood = (Food) tableAllFoods.getSelectionModel().getSelectedItem();
    Category selectedCategory = (Category) tableAllCategories.getSelectionModel().getSelectedItem();
    Button clickedButton = (Button) source;
    switch (clickedButton.getId()) {
        case "btnAddFood":
            break;
        case "btnEditFood":
            break;
        // Не работающий метод удаления блюда
        case "btnDeleteFood":
            if (!foodIsSelected(selectedFood)) {
                return;
            }
            fControl.deleteFood(selectedFood);
            break;
        case "btnAddCategory":
            break;
        case "btnEditCategory":
            break;
        case "btnDeleteCategory":
            if (!categoryIsSelected(selectedCategory)) {
                return;
            }
            cControl.deleteCategory(selectedCategory);
            break;
    }
}

Класс FoodController (на сервере), управляющий действиями пользователя, касаемо блюд;

private Food food = new Food();
private Model model = new Model();
private EditMenuController editContr;
private Stage stage;
public void addFood() {
}
// Не работающий метод удаления блюда
public void deleteFood(Food food) {
    model.getFoodList().remove(food);
}
public void cleanTable() {
    model.getFoodList().clear();
}

Если какой-то информации не хватает - могу предоставить. Заранее всем благодарен за проявленный интерес и помощь!

READ ALSO
HashMap<Integer, String> ClassCastException [Решено]

HashMap<Integer, String> ClassCastException [Решено]

Не понял, в чём проблема?

273
Некорректная отправка файла через socket

Некорректная отправка файла через socket

Пытаюсь отправлять любой файл по TCP с моего клиента (на мобильном устройстве) на консольный сервер (на компьютере)Подключение, отправка, получение,...

222
Конвертируем метод в kotlin

Конвертируем метод в kotlin

Пытаюсь преобразовать данный метод в котлин

309
Как открыть emoji keyboard

Как открыть emoji keyboard

Такой вопрос, как открыть Emojii keyboard программно? Например, при нажатии на кнопку, сразу должна открываться часть клавиатуры с emoji

233