Задать вопрос
toxa_1995
@toxa_1995
Начинающий...

Как передать в контроллер ObservableList из другого класса?

Есть контроллер, куда нужно передать объект ObservableList из класса Filter:
public class FilterController implements Initializable{

    @FXML
    public TableView<DataFilter> tableView;

    @FXML
    public TableColumn<DataFilter, String> columnWord;

    @FXML
    public TableColumn<DataFilter, Integer> columnFrequency;

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        columnWord.setCellValueFactory(new PropertyValueFactory<DataFilter, String>("word"));
        columnFrequency.setCellValueFactory(new PropertyValueFactory<DataFilter, Integer>("number"));

        tableView.setItems(?????);
    }
}

Класса Filter, в котором создается объект ObservableList:
ObservableList<DataFilter> observableList(){
        ObservableList<DataFilter> observableList = FXCollections.observableArrayList();
        for (Object o : wordAndNumber().entrySet()) {
            Map.Entry entry = (Map.Entry) o;
            observableList.add(new DataFilter((String) entry.getKey(), (int) entry.getValue()));
        }
        return observableList;
    }

как мне это сделать, если передать через:
Filter filter = new Filter();
tableView.setItems(filter.observableList())

то не работает
  • Вопрос задан
  • 323 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@red-barbarian
Filter пустой.
Все работает.
В другом окне создать фильтр, и из этого окна вызвать tableView.setItems
Окно с табл должно быть создано. Конечно.

Небольшое замечание по проекту.
Пишите тесты. Они проясняют. Не будет таких моментов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы