Mercurial > hg > Members > sugi > javafx
view src/alice/test/topology/aquarium/fx/AddObject.java @ 4:50d77513d52e
Platform runLater must use for handling instance from other thread (Not on FX application thread )
author | e095732 |
---|---|
date | Mon, 28 Jan 2013 00:22:17 +0900 |
parents | 4930f8daf49d |
children | ae0a39622a58 |
line wrap: on
line source
package alice.test.topology.aquarium.fx; import java.util.Random; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.scene.Node; import javafx.scene.paint.Color; import javafx.scene.shape.RectangleBuilder; public class AddObject extends CodeSegment{ private Receiver data = ids.create(CommandType.PEEK); private ObservableList<Node> list; public AddObject(Aquarium aqua){ list = aqua.getList(); data.setKey("objCnt"); } @Override public void run() { Platform.runLater(new Runnable() { public void run() { int num = data.asInteger(); double size = 75; Color color = Color.RED; Random rnd = new Random(); ObjectList obj = new ObjectList(); for (int i = 0;i < num; i++){ obj.list.add(RectangleBuilder.create() .width(size).height(size) .fill(color.deriveColor(0.0, 1.0, 1.0, 1.0)) .translateX(rnd.nextInt(600)) .translateY(rnd.nextInt(600)) .translateZ(0) .id("FISH"+i) .build()); } for (int i = 0;i < num; i++){ new SetTranslation(obj.list.get(i), "FISH"+i); list.add(obj.list.get(i)); } System.out.println("Create OBJ " + num); System.out.println(list); } }); } }