Java Swing组件布局

1、Swing组件的addActionListener()方法

接受实现了ActionListener接口的对象作为参数。

 

2、ActionListener接口

该接口只包含了actionPerformed()方法。

3、控制布局 

  • 完全基于代码,没有用来控制组件布置的"资源"。 这点与MFC、C# Windows Form不同。
  • 组件放置在窗体上的方式不是通过绝对坐标控制,而是由"布局管理器"(layout manager)根据组件加入的顺序决定其位置。

JApplet、JFrame、JWindow和JDialog都可以通过getContontPane()得到一个容器(Container),用来包含和显示组件。它还有一个被称为setLayout()的方法,可以通过这个方法来选择不同的布局管理器。其他的类,例如:JPanel,可以直接设置布局管理器。

  • BorderLayout

       Applet在缺省的情况下的布局方式是BorderLayout。如果不加入其他指令,它将接受调用add()方法而加入的组    

       件,把它放置在中央,而后把组件向各个方向拉伸,直到与边框对齐。


      Java Swing组件布局_第1张图片

 

  •  FlowLayout

       组件从左到右"流动"到窗体上,直接占满上方的空间,然后向下移动一行,继续流动。


      Java Swing组件布局_第2张图片

  •  GridLayout

       GridLayout允许构建一个放置组件的表格,在向表格里添加组件的时候,它们将按照从左到右,才能够上到下的顺序        加入。在构造器中要指定需要的行数与列数,它们将均匀分布在窗体上。


      Java Swing组件布局_第3张图片

  •  BoxLayout

       使用Box组件进行定位。可以指定组件按照水平或者垂直排列。也可以再组件之间添加间隔。

 

		//Box布局
		Box box = Box.createVerticalBox();
		cp.setLayout(new BorderLayout());
		cp.add(box);
		box.add(btnNorth);
		box.add(Box.createVerticalStrut(10));
		box.add(btnSouth);
		box.add(Box.createVerticalStrut(10));
		box.add(btnEast);
		box.add(Box.createVerticalStrut(10));
		box.add(btnWest);

   
       Java Swing组件布局_第4张图片

 

你可能感兴趣的:(Java Swing组件布局)