2014-03-27 19 views
0

我想使用彈出窗口在javafx中創建照片庫。 但是,當我通過目標圖像的方法來設置一個彈出窗口的內容到該圖像主圖像將被刪除,彈出窗口將被打開。爲什麼?請幫助我。謝謝 (對不起,我的英語不好! !!)彈出窗口刪除javafx中的主節點

這是代碼片段。

 final Popup popup = new Popup(); 
     popup.getContent().add(image); 
     popup.setOnShown(new EventHandler<WindowEvent>(){ 
     @Override 
     public void handle(WindowEvent t) { 
      image.setFitHeight(400); 
      image.setFitWidth(400); 

     } 
    }); 

     popup.show(stage); 
+0

'image'是一個'ImageView'顯示在你的主舞臺上嗎? –

+0

是的,這是一個ImageView。 – faraa

+0

不太清楚我是否理解這個問題,圖像是否已經顯示在「主」臺上?它從那裏消失? –

回答

3

您的圖像是一個ImageView,它是一個節點。沒有節點可以出現在兩個場景中,或者兩次出現在同一場景圖形中。

要解決這個問題,請使用當前圖像中顯示的相同圖像創建一個新的ImageView(儘管ImageView可能不會重新使用圖像)。

final Popup popup = new Popup(); 
    final ImageView popupImage = new ImageView(image.getImage()); 
    popup.getContent().add(popupImage); 
    popup.setOnShown(new EventHandler<WindowEvent>(){ 
    @Override 
    public void handle(WindowEvent t) { 
     popupImage.setFitHeight(400); 
     popupImage.setFitWidth(400); 

    } 
}); 

    popup.show(stage); 
+0

非常感謝,非常有幫助。 – faraa