diff --git a/app/logbook/olog/ui/src/main/java/org/phoebus/logbook/olog/ui/write/LogEntryEditorController.java b/app/logbook/olog/ui/src/main/java/org/phoebus/logbook/olog/ui/write/LogEntryEditorController.java index 97b98be392..2768de3958 100644 --- a/app/logbook/olog/ui/src/main/java/org/phoebus/logbook/olog/ui/write/LogEntryEditorController.java +++ b/app/logbook/olog/ui/src/main/java/org/phoebus/logbook/olog/ui/write/LogEntryEditorController.java @@ -27,6 +27,8 @@ import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; +import javafx.beans.value.ObservableStringValue; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; @@ -208,7 +210,7 @@ public class LogEntryEditorController { private final ObservableList availableLevels = FXCollections.observableArrayList(); private final SimpleStringProperty titleProperty = new SimpleStringProperty(); private final SimpleStringProperty descriptionProperty = new SimpleStringProperty(); - private final SimpleStringProperty selectedLevelProperty = new SimpleStringProperty(); + private final StringProperty selectedLevelProperty = new SimpleStringProperty(); private final SimpleStringProperty usernameProperty = new SimpleStringProperty(); private final SimpleStringProperty passwordProperty = new SimpleStringProperty(); @@ -830,11 +832,11 @@ private void getServerSideStaticData() { Optional optionalLevel = levels.stream().filter(LogEntryLevel::defaultLevel).findFirst(); String defaultLevel = null; if(optionalLevel.isPresent()){ - // One level value should be the default level + // One level value *should* be the default level defaultLevel = optionalLevel.get().name(); } selectedLevelProperty.set(logEntry.getLevel() != null ? logEntry.getLevel() : defaultLevel); - levelSelector.getSelectionModel().select(selectedLevelProperty.get()); + Platform.runLater(() -> levelSelector.getSelectionModel().select(selectedLevelProperty.get())); }); }