diff --git a/src/main/java/com/fantaibao/DesktopApplication.java b/src/main/java/com/fantaibao/DesktopApplication.java index 92f7a51..7ae8320 100644 --- a/src/main/java/com/fantaibao/DesktopApplication.java +++ b/src/main/java/com/fantaibao/DesktopApplication.java @@ -1,5 +1,6 @@ package com.fantaibao; +import com.fantaibao.config.GlobalConfig; import com.fantaibao.page.LoginView; import javafx.application.Application; import javafx.application.Platform; @@ -34,8 +35,7 @@ public class DesktopApplication extends Application { // 添加窗口关闭事件监听器 primaryStage.setOnCloseRequest(this::handleCloseEvent); // 添加多个尺寸的图标 - primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/icon16.png"))); - primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/icon32.png"))); + GlobalConfig.addIcon(primaryStage); // 直接启动登录界面 new LoginView(primaryStage); } diff --git a/src/main/java/com/fantaibao/config/GlobalConfig.java b/src/main/java/com/fantaibao/config/GlobalConfig.java index c34ef4a..1a982fa 100644 --- a/src/main/java/com/fantaibao/config/GlobalConfig.java +++ b/src/main/java/com/fantaibao/config/GlobalConfig.java @@ -1,5 +1,12 @@ package com.fantaibao.config; +import javafx.scene.image.Image; +import javafx.stage.Stage; +import org.springframework.util.ResourceUtils; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; + public class GlobalConfig { /** * 基础网络地址 @@ -46,4 +53,23 @@ public class GlobalConfig { */ public static String dyLoginPage; + + + public static final Image icon16; + public static final Image icon32; + + static { + try { + icon16 = new Image(new FileInputStream(ResourceUtils.getFile("classpath:icon16.png"))); + icon32 = new Image(new FileInputStream(ResourceUtils.getFile("classpath:icon32.png"))); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } + } + + public static void addIcon(Stage stage) { + stage.getIcons().add(GlobalConfig.icon16); + stage.getIcons().add(GlobalConfig.icon32); + } + } diff --git a/src/main/java/com/fantaibao/page/LoginView.java b/src/main/java/com/fantaibao/page/LoginView.java index e115273..9567946 100644 --- a/src/main/java/com/fantaibao/page/LoginView.java +++ b/src/main/java/com/fantaibao/page/LoginView.java @@ -16,8 +16,10 @@ import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.ProgressIndicator; import javafx.scene.control.TextField; +import javafx.scene.image.Image; import javafx.scene.layout.VBox; import javafx.stage.Stage; +import java.io.InputStream; public class LoginView { @@ -94,6 +96,12 @@ public class LoginView { alert.setTitle("登录失败"); alert.setHeaderText(null); alert.setContentText(jsonResultObject.getString("msg")); + // 设置弹窗图标 + Stage alertStage = (Stage) alert.getDialogPane().getScene().getWindow(); + InputStream iconStream = getClass().getResourceAsStream("/icon16.png"); + if (iconStream != null) { + alertStage.getIcons().add(new Image(iconStream)); + } alert.showAndWait(); return; } @@ -119,6 +127,9 @@ public class LoginView { alert.setTitle("登录失败"); alert.setHeaderText(null); alert.setContentText("登录过程中发生错误: " + ex.getMessage()); + // 设置弹窗图标 + Stage alertStage = (Stage) alert.getDialogPane().getScene().getWindow(); + GlobalConfig.addIcon(alertStage); alert.showAndWait(); }); } diff --git a/src/main/java/com/fantaibao/service/AbstractFtbCrawlNetBase.java b/src/main/java/com/fantaibao/service/AbstractFtbCrawlNetBase.java index 3607ebd..88163ab 100644 --- a/src/main/java/com/fantaibao/service/AbstractFtbCrawlNetBase.java +++ b/src/main/java/com/fantaibao/service/AbstractFtbCrawlNetBase.java @@ -10,6 +10,7 @@ import com.microsoft.playwright.Request; import javafx.application.Platform; import javafx.scene.control.Alert; import javafx.scene.control.ButtonType; +import javafx.stage.Stage; import lombok.extern.slf4j.Slf4j; import java.util.Optional; @@ -60,8 +61,10 @@ public abstract class AbstractFtbCrawlNetBase { Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Cookie更新完成"); alert.setHeaderText(null); - alert.setContentText(platformName+"Cookie已更新完成,请点击\"我已知晓\"关闭页面"); - + alert.setContentText(platformName+"Cookie已更新完成,请点击\"我已知晓\"关闭"); + // 设置弹窗图标 + Stage alertStage = (Stage) alert.getDialogPane().getScene().getWindow(); + GlobalConfig.addIcon(alertStage); // 添加自定义按钮 ButtonType acknowledgeButton = new ButtonType("我已知晓"); alert.getButtonTypes().setAll(acknowledgeButton);