Draw2d 学习笔记四 XYLayout

XYLayout就是采用绝对坐标来确定子figure的位置和大小。

/**
 * Calculates and returns the preferred size of the input figure. Since in XYLayout the
 * location of the child should be preserved, the preferred size would be a region which
 * would hold all the children of the input figure. If no constraint is set, that child
 * is ignored for calculation. If width and height are not positive, the preferred
 * dimensions of the child are taken.

 */

所以用户至少要指定figure的位置,然后指定大小为负值,系统就会把用preferred size。

public class HelloWorld2 {
	public static void main(String args[]) {
		Shell shell = new Shell();
		shell.setText("Draw2d Hello World");
		shell.setSize(400, 400);
		shell.open();
		
		// create content 4 shell.
		createContent4Shell(shell);
		
		while (!shell.isDisposed ()) {
			if (!Display.getDefault().readAndDispatch ())
				Display.getDefault().sleep ();
		}
	}

	private static void createContent4Shell(Shell shell) {
		Panel rootFigure = new Panel();
		rootFigure.setLayoutManager(new XYLayout());
		for(int i=0; i<30; i++) {
			rootFigure.add(new Label("Label "+i) ,new Rectangle(15*i,15*i,-1,-1));
		}
		LightweightSystem lws = new LightweightSystem(shell);
		lws.setContents(rootFigure);
	}
}

 


Draw2d 学习笔记四 XYLayout
 

 

你可能感兴趣的:(draw2d)