2015-12-02 46 views
-1

我目前有一個菜單,當我點擊其中一個選項時,我想清除屏幕(清除我所有的JLabel和文本區域)。我使用代碼JFrame GUI - RemoveAll

getContentPane().removeAll(); 
getContentPane().repaint(); 
add(comboBoxOptions); 

清除屏幕。之後,我嘗試添加一個組合框,該組合框添加但不顯示。我可以點擊這些選項,但我猜是隱藏的。我怎麼能解決這個問題?

回答

1

我該如何解決這個問題?

使用CardLayout,看到How to Use CardLayout更多細節

Swing的佈局管理API是懶惰的,它不會更新佈局的自動,它會等待,直到你告訴它。這是一件好事。

您需要使用revalidate迫使容器層次結構進行重新鋪設並repaint調度視圖的重繪,例如

getContentPane().removeAll(); 
add(comboBoxOptions); 
revalidate(); 
repaint();