添加控件(4)
在swing的容器都依赖于类JRootPane,在我们向容器中添加控件时,实际上是不能直接添加到容器中的,只能将它们添加到跟面板中,由跟面板来管理这些控件。当我们在容器中添加或者删除控件时,间接的在JRootPane中添加或是删除控件。
JRootPane中包含两个部分,一个是JLayeredPane和一个Glass Component(Component),在JLayeredPane中包含一个可选的JMenuBar和一个Content Pane(Container),控件就是放置在Content Pane中。当我们想要向容器中添加控件时,首先我们要获取到Content Pane:
getContentPane()
因为在Content Pane中有其自己的布局管理器,默认为BorderLayout。当我们在窗体大小固定的容器中添加控件时,需要清空布局管理器:
getContentPane().setLayout(null)
添加控件时,使用add方法:
getContentPane().add(控件)
对已添加的控件设置其大小和位置:
控件.setBounds(x,y,width,height)
在控件中添加其它控件:
控件.getViewport().add(控件)