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())

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

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

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

Войти через центр авторизации
Похожие вопросы