2015-12-02 40 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();