我有一个关于编码Swing UI的问题.如果我想制作带有某些选项的软件,例如在第一帧上我有三个按钮(New,Option,Exit).
现在,如果用户单击新按钮,我想将Frame中的整个内容更改为其他内容.我知道我必须使用addActionListener
那个按钮.但我的问题是如何更改框架中的内容.创建新框架然后使用setVisible()
不是我的选择.
frame.remove()
如果需要删除几件事情,那么使用所有对象似乎很尴尬.还是正确的方式?
在这种情况下,CardLayout确实是更好的选择; 但是,当场合需要时,可以使用或方法从Container中删除Component.之后,必要的步骤是调用[ ](http://java.sun.com/javase/6/docs/api/java/awt/Container.html#validate())方法再次布置容器的子组件.Oscar Reyes的例子使用了Frame的[ ](http://java.sun.com/javase/6/docs/api/java/awt/Window.html#pack())方法,继承自Window,实现这个效果.在该示例中,该方法以类似的方式重建显示面板.remove()
removeAll()
validate()
pack()
resetGame()