要求:设计如图所示的按钮
分析:对布局结构进行划分-->看作是2×1的GridLayout,两层均为BorderLayout,第一层的Center区为2×1的GridLayout,第二层的Center区为2×2的GridLayout。
代码如下所示:
/*2014-08-27 17:33
* 分析:分上下两层(2×1)GridLayout,每一层为BorderLayout,每层中又含有GridLayout
* */
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
public class TestButton {
public static void main(String[] args) {
Button b0 = new Button("BUTTON0");
Button b1 = new Button("BUTTON1");
Button b2 = new Button("BUTTON2");
Button b3 = new Button("BUTTON3");
Button b4 = new Button("BUTTON4");
Button b5 = new Button("BUTTON5");
Button b6 = new Button("BUTTON6");
Button b7 = new Button("BUTTON7");
Button b8 = new Button("BUTTON8");
Button b9 = new Button("BUTTON9");
Frame f = new Frame("十个不同位置按钮设计!");
f.setLayout(new GridLayout(2,1));
Panel p1 = new Panel();
Panel p2 = new Panel();
p1.setLayout(new BorderLayout());
p2.setLayout(new BorderLayout());
Panel p11 = new Panel();
Panel p21 = new Panel();
p11.setLayout(new GridLayout(2,1));
p21.setLayout(new GridLayout(2,2));
p1.add(b0, BorderLayout.WEST);
p11.add(b1);
p11.add(b2);
p1.add(p11, BorderLayout.CENTER);
p1.add(b3, BorderLayout.EAST);
p2.add(b4,BorderLayout.WEST);
p21.add(b5);
p21.add(b6);
p21.add(b7);
p21.add(b8);
p2.add(p21,BorderLayout.CENTER);
p2.add(b9, BorderLayout.EAST);
f.add(p1);
f.add(p2);
f.setSize(800,800);
f.pack();
f.setVisible(true);
}
<strong>}
</strong>
注意:在eclipse中
编程,其会自动添加你所使用的方法所需要的包/父类,这带来很大的便利,但是要注意不要依赖上这种便利,一定要清楚地明白使用某种方法时需要用到什么包/父类。