diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MultiFileItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MultiFileItem.java index cd15677c5..7b2822f32 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MultiFileItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/MultiFileItem.java @@ -226,6 +226,11 @@ public class MultiFileItem extends VBox { BorderPane.setAlignment(customField, Pos.CENTER_RIGHT); customField.disableProperty().bind(left.selectedProperty().not()); + + if (!customField.getValidators().isEmpty()) { + FXUtils.setValidateWhileTextChanged(customField, true); + } + pane.setRight(customField); return pane; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/PersonalizationPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/PersonalizationPage.java index 71f8ed3c3..8544953e0 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/PersonalizationPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/PersonalizationPage.java @@ -107,6 +107,7 @@ public class PersonalizationPage extends StackPane { .setChooserTitle(i18n("launcher.background.choose")) .bindBidirectional(config().backgroundImageProperty()), new MultiFileItem.StringOption<>(i18n("launcher.background.network"), EnumBackgroundImage.NETWORK) + .setValidators(new URLValidator(true)) .bindBidirectional(config().backgroundImageUrlProperty()) )); backgroundItem.selectedDataProperty().bindBidirectional(config().backgroundImageTypeProperty());