From fcabe9ca36ab31d236e81d342c7c7faae8f7dc8e Mon Sep 17 00:00:00 2001 From: mineDiamond Date: Tue, 23 Dec 2025 21:52:43 +0800 Subject: [PATCH] =?UTF-8?q?[Feature]=20[UI]=20=E7=BB=9F=E4=B8=80=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E9=80=89=E6=8B=A9=E5=BC=B9=E7=AA=97=E5=9C=A8=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=BA=E7=A9=BA=E6=97=B6=E7=9A=84=E8=A1=A8=E7=8E=B0?= =?UTF-8?q?=20(#5054)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jackhuang/hmcl/ui/main/RootPage.java | 24 ++++++++++++------- .../resources/assets/lang/I18N.properties | 1 + .../resources/assets/lang/I18N_zh.properties | 1 + .../assets/lang/I18N_zh_CN.properties | 1 + 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java index eda61b9bd..914bb3da7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java @@ -19,6 +19,7 @@ package org.jackhuang.hmcl.ui.main; import com.jfoenix.controls.JFXPopup; import javafx.beans.property.ReadOnlyObjectProperty; +import javafx.scene.control.Label; import javafx.scene.input.MouseButton; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.auth.Account; @@ -149,8 +150,7 @@ public class RootPage extends DecoratorAnimatedPage implements DecoratorPage { accountListItem.setOnAction(e -> Controllers.navigate(Controllers.getAccountListPage())); accountListItem.setOnMouseClicked(e -> { if (e.getButton() == MouseButton.SECONDARY) { - if (!Accounts.getAccounts().isEmpty()) - showAccountListPopupMenu(accountListItem); + showAccountListPopupMenu(accountListItem); e.consume(); } }); @@ -265,13 +265,19 @@ public class RootPage extends DecoratorAnimatedPage implements DecoratorPage { scrollPane.setPrefHeight(-1); scrollPane.setMaxHeight(260); - for (Account account : Accounts.getAccounts()) { - AccountAdvancedListItem item = new AccountAdvancedListItem(account); - item.setOnAction(e -> { - Accounts.setSelectedAccount(account); - popup.hide(); - }); - scrollPane.add(item); + if (Accounts.getAccounts().isEmpty()) { + Label placeholder = new Label(i18n("account.empty")); + placeholder.setStyle("-fx-padding: 10px; -fx-text-fill: gray; -fx-font-style: italic;"); + scrollPane.add(placeholder); + } else { + for (Account account : Accounts.getAccounts()) { + AccountAdvancedListItem item = new AccountAdvancedListItem(account); + item.setOnAction(e -> { + Accounts.setSelectedAccount(account); + popup.hide(); + }); + scrollPane.add(item); + } } popupMenu.getContent().add(scrollPane); diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index 50e38d3c3..dbed63c56 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -60,6 +60,7 @@ account.create.microsoft=Add a Microsoft Account account.create.offline=Add an Offline Account account.create.authlibInjector=Add an authlib-injector Account account.email=Email +account.empty=No Accounts account.failed=Failed to refresh account. account.failed.character_deleted=The player has already been deleted. account.failed.connect_authentication_server=Failed to connect to the authentication server, your network connection may be down. diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index acb4f2062..e3a50aab7 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -59,6 +59,7 @@ account.create.microsoft=新增 Microsoft 帳戶 account.create.offline=新增離線模式帳戶 account.create.authlibInjector=新增 authlib-injector 帳戶 account.email=電子信箱 +account.empty=沒有帳戶 account.failed=帳戶重新整理失敗 account.failed.character_deleted=已刪除此角色 account.failed.connect_authentication_server=無法連線至認證伺服器。可能是網路問題,請檢查裝置能否正常上網或使用代理服務。 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index 5b2ab69dc..09aff4572 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -59,6 +59,7 @@ account.create.microsoft=添加微软账户 account.create.offline=添加离线模式账户 account.create.authlibInjector=添加外置登录账户 (authlib-injector) account.email=邮箱 +account.empty=没有账户 account.failed=账户刷新失败 account.failed.character_deleted=此角色已被删除 account.failed.connect_authentication_server=无法连接认证服务器。可能是网络问题,请检查设备能否正常上网或使用代理服务。\n你可以点击右上角帮助按钮进行求助。