javafx.scene.Group



@DefaultProperty(value="children")
public class Group
extends Parent
Group node contains an ObservableList of children that are rendered in order whenever this node is rendered.

Group will take on the collective(集体) bounds of its children and is not directly resizable(可调整大小).

Any transform, effect, or state applied to a Group will be applied to all children of that group. Such transforms and effects will NOT be included in this Group's layout bounds(边界), however if transforms and effects are set directly on children of this Group, those will be included in this Group's layout bounds.(长度和宽度的计算,效果是使用在Group上的话,效果的长度和宽度是不计算的,但是应用在孩子上是要统计的)

package group;

import javafx.application.Application;
import javafx.geometry.Bounds;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class TestGroup2 extends Application{

	@Override
	public void start(Stage stage) throws Exception {
		// TODO Auto-generated method stub
		Group g = new Group();
		Color[] c = new Color[]{Color.RED,Color.ANTIQUEWHITE,Color.AQUA,
				Color.AQUAMARINE,Color.AZURE};
		DropShadow ds = new DropShadow();
		ds.setWidth(30);
		for (int i = 0; i < 5; i++) {
		    Rectangle r = new Rectangle();
		    r.setY(i * 20);
		    r.setWidth(100);
		    r.setHeight(10);
		    r.setFill(c[i]);
//		    r.setEffect(ds);//很诡异的区别,如果特效应用在Group上,特效的长度宽度是不统计的,但是特效也会应用在孩子上
		    g.getChildren().add(r);
		}


		g.setEffect(ds);//特效会应用到所有的孩子上
		stage.setScene(new Scene(g));
		stage.show();
		Bounds bounds = g.getLayoutBounds();
		System.out.println(bounds.getHeight());//90 108 
		System.out.println(bounds.getWidth());//100 128
		
	}
	public static void main(String[] args) {
		launch(args);
	}
	

}

By default, a Group will "auto-size" its managed resizable children to their preferred sizes during the layout pass to ensure that Regions and Controls are sized properly as their state changes. If an application needs to disable this auto-sizing behavior, then it should set autoSizeChildren to false and understand that if the preferred size of the children change, they will not automatically resize (so buyer beware(谨慎)!).

Group Example:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值