原文来自:http://stackoverflow.com/questions/10275841/how-to-change-the-icon-on-the-title-bar-of-a-stage-in-java-fx-2-0-of-my-applicat/15206407#152064
原文来自:#15206407
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.image.Image;
import javafx.stage.Stage;
public class StackoverflowIcon extends Application
{
@Override
public void start(Stage stage)
{
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 250);
// set icon
stage.getIcons().add(new Image("/path/to/stackoverflow.jpg"));
// set title
stage.setTitle("Wow!! Stackoverflow Icon");
stage.setScene(scene);
stage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
launch(args);
}
}
运行截图:
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包内部
如果你的图标和类放在同一个包里面,可以省略/