package demos.gui.uicomponents;
import com.jfoenix.controls.JFXComboBox;
import com.jfoenix.validation.ValidationFacade;
import io.datafx.controller.ViewController;
import javafx.beans.value.ChangeListener;
import javafx.fxml.FXML;
import javax.annotation.PostConstruct;
@ViewController(value = "/fxml/ui/Combobox.fxml", title = "Material Design Example")
public class ComboBoxController {
@FXML
private JFXComboBox<String> jfxComboBox;
@FXML
private JFXComboBox<String> jfxEditableComboBox;
/**
* init fxml when loaded.
*/
@PostConstruct
public void init() {
jfxComboBox.focusedProperty().addListener((o, oldVal, newVal) -> {
if (!newVal) {
ValidationFacade.validate(jfxComboBox);
}
});
ChangeListener<? super Boolean> comboBoxFocus = (o, oldVal, newVal) -> {
if (!newVal) {
ValidationFacade.validate(jfxEditableComboBox);
}
};
jfxEditableComboBox.focusedProperty().addListener(comboBoxFocus);
jfxEditableComboBox.getEditor().focusedProperty().addListener(comboBoxFocus);
}
}