简体   繁体   中英

How to change default java logo exe icon on the taskbar in javafx?

I made a JavaFX application on Netbeans and I put this code for setting the icon to the window

primaryStage.getIcons().add(new Image("file:sicadcam.png"));

and when I run the project from Netbeans, it works ok: the icon appears on the window and in the taskbar. where I have to put the image.

When I clean and build the project, it generates two installers: one exe and one msi; and when I install the application and open it, the window doesn't have the icon sicadcam.png, it has the default java logo icon.

How or where can I set the path of the image so that when I install the application the icon appears.

You should place the icon in your jar or classpath and then load it through a resource function. Eg if you place it to your bin folder, into the package where your class is, then the following should work:

primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("sicadcam.png")));

I suspect that the image is not handled as a resource and not getting into your Jar file. Can you verify if it is there? (You can do that by Total Commander for example by pressing Ctrl+PgDown to go into the archive).

Another reason might be that NetBeans using a different run configuration and classpath. Where is your image? If it is in the package root (ie, the folder which contains your top-level package), you can probably access it somehow like: ImageIO.read(getClass().getResourceAsStream("/sicadcam.png")) .

Hope that helps something.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM