我试过了
new Image(XYZ.class.getResourceAsStream("my.png"))
和
stage.getIcons().add(new Image("my.jpg"));
和
stage.getIcons().add(new Image("/path/to/my.jpg"));
我可以在任务栏看到图标,但我无法在应用标题栏看到 我的javafx jar版本是1.8.45 谢谢
答案 0 :(得分:3)
尝试以下方法,这对我有用:
Image image = new Image(XYZ.class.getClassLoader().getResource("my.png").toExternalForm());
stage.getIcons().add(image);
如果您使用的是Linux,则可能对this question感兴趣。
这是一个MWE:
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception {
stage.getIcons().add(new Image(Main.class.getClassLoader().getResource("sample/icon.png").toExternalForm()));
stage.setScene(new Scene(new Group(), 300, 275));
stage.show();
}
public static void main(String[] args) {launch(args);}
}
这假设目录icon.png
中存在映像sample
(与Main
类相同的目录)。如您所见,图标位于应用程序的任务栏和标题栏中: