Draw2d 学习笔记六 布局管理器 约束(Constraint)

关键字:Draw2d、布局管理器、约束(Constraint)

 

Draw2d中的布局管理器和约束是一一对应的,也就是说不同的布局管理对应不同的约束。

 

 

XYLayout
Rectangle

new Rectangle(10,10,-1,-1)

BorderLayout
Integer
BorderLayout.CENTER
FlowLayout  
StackLayout  
GridLayout GridData new GridData(10,10)
从哪里看出布局管理器和约束的对应关系。
XYLayout
public class XYLayout
	extends AbstractLayout {
...
public void layout(IFigure parent) {
...
Rectangle bounds = (Rectangle)getConstraint(f);
...
}
 BorderLayout
public class BorderLayout 
	extends AbstractHintLayout 
{
......
public void setConstraint(IFigure child, Object constraint) {
......
switch (((Integer) constraint).intValue()) {
.....
}
 GridLayout
public class GridLayout extends AbstractLayout {
.......
	Dimension layout(IFigure container, boolean move, int x, int y, int width,
			int height, boolean flushCache) {
.....
GridData data = (GridData) getConstraint(child);
.....
}
 对于布局管理器的理解,其实就是要抓住一个重点那就是,它是用来管理子figure是如何放置的。

你可能感兴趣的:(F#)