上篇文章程序?qū)嵗校⒘?個面板容器類棘钞,分別是contentPane缠借、p1、p2武翎、p3烈炭、p4、 p5宝恶,其中contentPane是與頂層窗口關(guān)聯(lián)的內(nèi)容面板符隙,其余5個面板容器則是與布管理器中每個部分相關(guān)聯(lián)的面板。上篇文章程序代碼使用的是不帶參數(shù)的Panel容器類構(gòu)造器垫毙,下面使用帶參數(shù)的Panel容器類構(gòu)造器來重新編寫上例的程序代碼霹疫。其代碼如下所示:
publicclassBWF{
publicstaticintWIDTH=300;
publicstaticintHEIGHT=250;
publicstaticvoidmain(Stringargs[]){
JFramejf=newJFrame("測試JPanel");
jf.setSize(WIDTH,HEIGHT);
jf.setLayout(newBorderLayout());
//創(chuàng)建6個中間容器,并且將contentPane放到頂層容器內(nèi)
JPanelcontentPane=newJPanel();
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
JPanelp5=newJPanel();
//創(chuàng)建9個普通按鈕組件综芥,將P1到p5個面板設(shè)置為流布局
JButtonb1=newJButton("1");
JButtonb2=newJButton("2");
JButtonb3=newJButton("3");
JButtonb4=newJButton("4");
JButtonb5=newJButton("5");
JButtonb6=newJButton("6");
JButtonb7=newJButton("7");
JButtonb8=newJButton("8");
JButtonb9=newJButton("9");
p1.setLayout(newFlowLayout());
p2.setLayout(newFlowLayout());
p3.setLayout(newFlowLayout());
p4.setLayout(newFlowLayout());
p5.setLayout(newFlowLayout());
//將b1,b2加到P1中丽蝎,將b3,b4加到p2中
//將b5,b6加到P3中,將b7,b8加到p4中,將b9加到p5中
p1.add(b1);
p1.add(b2);
p2.add(b3);
p2.add(b4);
p3.add(b5);
p3.add(b6);
p4.add(b7);
p4.add(b8);
p5.add(b9);
contentPane.add(p1,BorderLayout.NORTH);
contentPane.add(p2,BorderLayout.SOUTH);
contentPane.add(p3,BorderLayout.EAST);
contentPane.add(p4,BorderLayout.WEST);
contentPane.add(p5,BorderLayout.CENTER);
jf.setContentPane(contentPane);
jf.setVisible(true);
}
}