2016-09-28 45 views
0

刪除元素假設我已經這樣做了 -的JavaFX - 從SwingNode

SwingNode deviceView = new SwingNode(); 
JDesktopPane desktop = new JDesktopPane(); 
// Add elements to desktop 
deviceView.setContent(desktop); 

有沒有辦法刪除deviceViewdesktop?我可以想出最好的辦法是 -

deviceView.setContent(new JPanel()); 

但是有沒有辦法簡單地刪除它?


正如在評論中指出的,我試過deviceView.setContent(null);似乎被竊聽。

+0

'setContent(null)'不起作用? –

+0

@James_D nope,首先嚐試。 –

+0

我想這是Swing集成中的一個錯誤。當使用'setContent(null)'時(你可以用一個不再可點擊的'JButton'來試試它),但是SwingNode沒有被重新繪製。 – DVarga

回答

0

你可以嘗試一下,讓我們知道它是怎麼回事,雖然我還沒有嘗試過。

deviceView.getContent().removeAll(); 
+0

不起作用。我已經爲'SwingNode'添加了一個'JButton',然後向運行'deviceView.getContent()。removeAll();'的JavaFX按鈕添加了一個事件處理程序,沒有任何事情發生,沒有錯誤,沒有任何東西。我甚至試圖把它放在一個'SwingUtitlities.invokeLater'塊中。不管怎麼說,還是要謝謝你。 –