Я создаю программу чтения журналов с JavaFX в качестве побочного проекта и зашел в тупик при попытке реализовать фильтрацию на TableView
.
. У меня есть несколько CheckBox
es.(LHS изображения), которые в основном будут действовать как фильтры для отображения TableView
:
Как только кнопка Submit
по щелчку открывается фоновый поток для чтения и анализа файлов.Как только операция завершается, результат каждого чтения журнала вставляется в глобальный ObservableList<Log>
:
public class Test_Filters extends Application {...
private ObservableList<LogTest> logs = FXCollections.observableArrayList();
...}
. У меня возникли проблемы с тем, как справиться:
- Ситуация, когда проверяется более одного фильтра
CheckBox
. - Ситуация, когда
CheckBox
не проверяется.
Для 1. Мне было интересно, как лучшеиметь дело с этим.Допустим, у меня выбрано x
фильтров.Это означало бы, что мне нужно отфильтровать x
значений из ObservaleList
:
logTable.setItems(logTable.getItems().filtered(log -> !log.getSource().equals(checkBox.getText())));