2016-07-04 81 views
0

我在Eclipse上的圖1(第7行)中爲舞臺的窗口添加了一個圖標。舞臺將處理一個場景,這將迫使它根據其中的組件(實際上是一個SIZE * SIZE板)來調整其大小。在Eclipse上運行時JavaFX:舞臺圖標崩潰

public ScreenManager(Stage primaryStage, String name) { 
    root = new StackPane(); 
    scene = new Scene(root); 
    stage = primaryStage; 
    stage.setTitle(name); 
    stage.setResizable(false); 
    stage.getIcons().add(new Image("res/images/GameIconsSmall.png")); 
    stage.setScene(scene); 
    stage.show(); 

    root.setVisible(true); 
} 

圖1:Fig 1

圖2:Fig 2

圖3:Fig 3

圖2是發生了什麼(儘管不是每一次但通常)當階段被通過調整大小程序執行期間的setWidth和setHeight。我還想將Java的默認桌面圖標(圖3)更改爲我自己的獨立於操作系統的圖標之一。

+1

對於您的圖標,您需要提供多個圖標。 Mac OS和其他平臺需要不同的分辨率,而不僅僅是一個,例如桌面圖標。 – NwDev

回答

0

我還在代碼塊中插入了stage.getIcons().add(new Image("res/images/GameIconsSmall.png"));,它改變了舞臺的寬度和高度。這是圖標崩潰。不過,我仍然無法更改Java的默認桌面圖標。

+0

嘗試添加/之前res或如果資源文件夾像src的嘗試/圖像...沒有水庫。 – GOXR3PLUS

+1

桌面圖標可以通過罐子的正確包裝來改變。請參閱https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html – NwDev