From bc68a040ed3c1c1507e15980cc767bb0128f0062 Mon Sep 17 00:00:00 2001 From: KSSJW <165921128+KSSJW@users.noreply.github.com> Date: Fri, 18 Sep 2026 23:41:58 +0800 Subject: [PATCH] refactor: bind JavaDownloadDialog combo box disabled state to distribution selection --- .../org/jackhuang/hmcl/ui/main/JavaDownloadDialog.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaDownloadDialog.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaDownloadDialog.java index 65f87c14bed..9968c179cfb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaDownloadDialog.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaDownloadDialog.java @@ -230,9 +230,11 @@ private final class DownloadDiscoJava extends JFXDialogLayout { this.remoteVersionBox = new JFXComboBox<>(); this.remoteVersionBox.setConverter(FXUtils.stringConverter(JavaRemoteVersion::getDistributionVersion)); + this.remoteVersionBox.disableProperty().bind(Bindings.isNull(distributionBox.getSelectionModel().selectedItemProperty())); this.packageTypeBox = new JFXComboBox<>(FXCollections.observableArrayList()); this.packageTypeBox.setConverter(FXUtils.stringConverter(JavaPackageType::getDisplayName)); + this.packageTypeBox.disableProperty().bind(Bindings.isNull(distributionBox.getSelectionModel().selectedItemProperty())); this.downloadButton = new JFXButton(i18n("download")); downloadButton.setOnAction(e -> onDownload()); @@ -312,8 +314,6 @@ private final class DownloadDiscoJava extends JFXDialogLayout { Consumer updateListStatus = list -> { remoteVersionBox.setItems(null); packageTypeBox.getItems().clear(); - remoteVersionBox.setDisable(true); - packageTypeBox.setDisable(true); warningLabel.setText(null); if (list == null || (list.versions != null && list.versions.isEmpty())) @@ -326,9 +326,6 @@ else if (list.status == DiscoJavaVersionList.Status.LOADING) if (list.status == DiscoJavaVersionList.Status.SUCCESS) { packageTypeBox.getItems().setAll(list.versions.keySet()); packageTypeBox.getSelectionModel().selectFirst(); - - remoteVersionBox.setDisable(false); - packageTypeBox.setDisable(false); } else warningLabel.setText(i18n("java.download.load_list.failed")); }