1. import javafx.application.Application; 2. import javafx.scene.Scene; 3. import javafx.scene.layout.StackPane; 4. import javafx.scene.image.Image; 5. import javafx.stage.Stage; 6. 7. public class StackoverflowIcon extends Application 8. { 9. 10. @Override 11. public void start(Stage stage) 12. { 13. 14. StackPane root = new StackPane(); 15. Scene scene = new Scene(root, 300, 250); 16. 17. // set icon 18. stage.getIcons().add(new Image("/path/to/stackoverflow.jpg")); 19. 20. // set title 21. stage.setTitle("Wow!! Stackoverflow Icon"); 22. stage.setScene(scene); 23. stage.show(); 24. } 25. 26. /** 27. * @param args the command line arguments 28. */ 29. public static void main(String[] args) 30. { 31. launch(args); 32. } 33. }
运行截图:
JavaFX 8升级
上面代码仍然奏效,没必要修改。 Java 1.8(1.8.0_31) 环境中测试、检测。路径支持本地的也可以是远程的。
stage.getIcons().add(new Image("/path/to/javaicon.png"));
或者
stage.getIcons().add(new Image("https://example.com/javaicon.png"));
希望这对你有帮助
---------------------------------------------------------------------------------------------------------------------------------------------
你也可以从类路径里面像这样加载图片:
new Image(XYZ.class.getResourceAsStream("/xyz.png"))
XYZ是类名 (也可以是你正在加载图片的类的类名) xyz.png 是你的图片名。放到你classpath路径或者Jar包内部
如果你的图标和类放在同一个包里面,可以省略/