private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
this.jContentPane.add(new listpanel(this.jFrame));
}
return jContentPane;
}
我想问的是为什么一定要jContentPane.setLayout(new BorderLayout());之后才有按钮点击换页面,如果是jContentPane.setLayout(null);就没有的,还有this.jContentPane.add(new listpanel(this.jFrame));这句话的意思是说在容器里面添加一个面板?
------解决方案--------------------
jContentPane.setLayout(null)
即不使用布局管理器,需要你自己指定每个控件的大小和位置(setBounds)
jContentPane.setLayout(new BorderLayout())
使用了 BorderLayout 布局管理器,控件位置和大小由布局管理器控制
this.jContentPane.add(new listpanel(this.jFrame));
在 BorderLayout 布局管理器下,默认为添加到 jContentPane 的中部位置