如何更改应用程序的 java fx 2.0 中某个阶段的标题栏上的图标

2022-09-03 16:24:14

我试过了

 stage.getIcons().add(new Image("attuncore.jpg")); 

但我不知道出了什么问题。

请帮忙。提前致谢。


答案 1

适合初学者的完整程序 :)该程序设置堆栈溢出图标。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class StackoverflowIcon extends Application {

    @Override
    public void start(Stage stage) {
        StackPane root = new StackPane();
        // set icon
        stage.getIcons().add(new Image("/path/to/stackoverflow.jpg"));
        stage.setTitle("Wow!! Stackoverflow Icon");
        stage.setScene(new Scene(root, 300, 250));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

输出 Screnshot

JavaFX Screenshot

针对 JavaFX 8 进行了更新

无需更改代码。它仍然工作正常。在 Java 1.8(1.8.0_45) 中测试和验证。路径可以设置为本地或远程,两者都受支持。

stage.getIcons().add(new Image("/path/to/javaicon.png"));

stage.getIcons().add(new Image("https://example.com/javaicon.png"));

enter image description here

希望它有帮助。谢谢!!


答案 2

您可以从类路径加载图像,如下所示:

new Image(XYZ.class.getResourceAsStream("/xyz.png"))

其中 XYZ 是某个类名(可能是您从中加载映像的类名),而 xyz.png 是映像文件的名称,放在类路径中包含的目录(或 JAR 文件)中。

如果要将图像放在源文件旁边,则必须省略 /字符。然后,需要将 IDE 配置为将资源(如 *.png)从 src 复制到 bin 目录。但这应该是标准行为。


推荐