From b41b89e23300ca8a9c33697eb6132cb5e1ef014a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=AB=E4=B9=90=E5=87=A4=E7=88=AA=E7=8E=8B?= <165921128+KSSJW@users.noreply.github.com> Date: Wed, 8 Jul 2026 21:40:50 +0800 Subject: [PATCH] Feat: Added numbered square tag to Java runtime list cells (#6334) --- .../jackhuang/hmcl/ui/main/JavaManagementPage.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaManagementPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaManagementPage.java index cdb1c41aef..980ee63630 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaManagementPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/JavaManagementPage.java @@ -25,6 +25,7 @@ import javafx.collections.FXCollections; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; +import javafx.scene.control.Label; import javafx.scene.control.ListCell; import javafx.scene.control.Skin; import javafx.scene.control.Tooltip; @@ -226,6 +227,7 @@ public final class JavaManagementPage extends ListPageBase { private static final class JavaItemCell extends ListCell { private final Node graphic; + private final Label label = new Label(); private final TwoLineListItem content; private SVG removeIcon; @@ -241,11 +243,17 @@ public final class JavaManagementPage extends ListPageBase { center.setSpacing(8); center.setAlignment(Pos.CENTER_LEFT); + label.setAlignment(Pos.CENTER); + label.setMinSize(24, 24); + label.setMaxSize(24, 24); + label.setPrefSize(24, 24); + label.setStyle("-fx-background-color: -monet-secondary-container; -fx-background-radius: 2; -fx-padding: 2; -fx-font-weight: normal; -fx-font-size: 12px;"); + this.content = new TwoLineListItem(); HBox.setHgrow(content, Priority.ALWAYS); BorderPane.setAlignment(content, Pos.CENTER); - center.getChildren().setAll(content); + center.getChildren().setAll(label, content); root.setCenter(center); HBox right = new HBox(); @@ -293,6 +301,9 @@ public final class JavaManagementPage extends ListPageBase { if (empty || item == null) { setGraphic(null); } else { + int parsedVersion = item.getParsedVersion(); + label.setText(parsedVersion >= 0 ? String.valueOf(parsedVersion) : "?"); + content.setTitle((item.isJDK() ? "JDK" : "JRE") + " " + item.getVersion()); content.setSubtitle(item.getBinary().toString());