关于使用Group批量设置Note的文章
新增与移除组件
新增组件
要显示组件,首先肯定要有组件
1 2 3
| Button b1=new Button("b1"); Button b2=new Button("b2"); Button b3=new Button("b3");
|
向group添加Button可以有两种方法,第一种是一个一个添加
1 2 3
| group.getChildren().add(b1); group.getChildren().add(b2); group.getChildren().add(b3);
|
同时,Java也提供了一次性新增的方法addAll()
,这个方法的参数为可变参数,可以接受多个组件
1
| group.getChildren().addAll(b1,b2,b3);
|
移除组件
因为group.getChildren()
返回的是一个List,所以对组件的移除使用remove()
方法的类型
1
| group.getChildren().remove(b3);
|
设置组件位置以及宽高
位置
单个组件设置大小
1 2 3 4 5 6
| b1.setLayoutX(0); b1.setLayoutY(0); b2.setLayoutX(100); b2.setLayoutY(140); b3.setLayoutX(260); b3.setLayoutY(300);
|
通过group统一设置主键大小
1 2 3 4 5 6 7 8
| int i=1; Object[] ob =group.getChildren().toArray(); for(Object obj:ob) { Button b=(Button) obj; b.setLayoutX(i*50+0); b.setLayoutY(i*20); i=i+2; }
|
宽高
系统有方法管理是否要自动设置宽高,当参数为false
时,组件宽高为0,所以无法显示,默认为true
1
| group.setAutoSizeChildren(false);
|
单个组件设置
1 2 3
| b1.setPrefWidth(40); b1.setPrefHeight(30);
|
批量修改
1 2 3 4 5 6
| Object[] ob =group.getChildren().toArray(); for(Object obj:ob) { Button b=(Button) obj; b.setPrefWidth(40); b.setPrefHeight(30); }
|
其它小功能
批量设置组件透明
判断当前是否有组件
这个方法实际判断的是该点是否为某组件左上角,例如一个组件的左上角为(0,0)宽高为(10*10),那么group.contains(1,1)
的返回值为false
1 2
| System.out.println("(30,30)是否有组件:"+group.contains(30,30)+"\n(0,0)是否有组件:"+group.contains(0,0));
|
监听Group是否有组件增删
1 2 3 4 5 6
| group.getChildren().addListener(new ListChangeListener<Node> (){ public void onChanged(Change<? extends Node> c) { System.out.println("当前自建数量"+c.getList().size()); }});
|