如何更改一个阶段的在我的应用[复制]对Java FX 2.0标题栏上的图标(How to Chang

2019-06-23 21:23发布

这个问题已经在这里有一个答案:

  • JavaFX应用程序图标 17个回答

我曾尝试

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

但我不知道是怎么回事错..

请帮忙。 提前致谢。

Answer 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的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"));

希望能帮助到你。 谢谢!!



Answer 2:

你可以从这样的类路径加载图像:

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

其中XYZ是一些类名(也许是一个你正在加载从图像)和xyz.png是你的图像文件,放在一个目录(或JAR文件)的名称包含在类路径中。

如果你喜欢把旁边的源文件中的图像,你必须省略/字符。 你的IDE需要进行配置,以从SRC复制ressources(如*。PNG)到bin目录下,然后。 但是,这被认为是标准的行为。



Answer 3:

请问您的图像有正确的大小? Javadoc中说明:

公众最终ObservableList getIcons()

获取窗口装饰所用的图标图像和最小化时。 图像应该是相同的图像的不同的尺寸和最佳的大小将被选择,例如。 16×16,32,32。



Answer 4:

我发现通过设置独立的工作目录的属性中的溶液包装在我的主图像和被放置。



Answer 5:

不要忘了做进口

import javafx.scene.image.Image;

Image icon = new Image(getClass().getResourceAsStream("myicon.png"));
stage.getIcons().add(icon);

替换"myicon.png"用你的图标。 在这种情况下,它在同一文件夹作为您的Java类。



Answer 6:

对于那些谁用了一个问题:

无效的网址:无效的URL或资源未找到

最好的解决办法是让新包即image.icons和移动有你的PNG图片。 然后你只需要这样写:

Image image = new Image("/image/icons/list.png");
primaryStage.getIcons().add(image);

我希望这可以帮助别人!



文章来源: How to Change the icon on the title bar of a stage in java fx 2.0 of my application [duplicate]