TWaver With JavaFX(二)

2014-11-24 09:39:59 · 作者: · 浏览: 5
Listener() {
23 @Override
24 public void propertyChange(PropertyChangeEvent evt) {
25 if("location".equals(evt.getPropertyName())){
26 Element element= (Element) evt.getSource();
27 final String name=element.getName();
28 final double x=element.getX();
29 final double y=element.getY();
30 Platform.runLater(new Runnable() {
31 @Override
32 public void run() {
33 nameText.setText(name);
34 locationText.setText("X:"+x+" Y:"+y);
35 }
36 });
37 }
38 }
39 });
40 Platform.runLater(new Runnable() {
41 @Override
42 public void run() {
43 initFX(statusFXPanel,controlFXPanel);
44 }
45 });
46 }
47 private static void initNetwork(){
48 network=new TNetwork();
49 twaver.Node node1=new Node();
50 node1.setName("node1");
51 twaver.Node node2=new Node();
52 node2.setLocation(200,100);
53 node2.setName("node2");
54 Link link=new Link(node1,node2);
55 network.getDataBox().addElement(node1);
56 network.getDataBox().addElement(node2);
57 network.getDataBox().addElement(link);
58
59 }
60 private static void initFX(JFXPanel statusFXPanel,JFXPanel controlFXPanel) {
61 Scene scene = createStatusScene();
62 statusFXPanel.setScene(scene);
63 statusFXPanel.validate();
64
65 Scene controlScene=createControlScene();
66 controlFXPanel.setScene(controlScene);
67 controlFXPanel.validate();
68
69 }
70 private static Scene createControlScene(){
71 Group root = new Group();
72 Scene scene = new Scene(root, Color.ALICEBLUE);
73 HBox hbox=new HBox();
74 slider =new Slider(0,16777215,0);
75 slider.setPrefHeight(30);
76 slider.setPrefWidth(300);
77 slider.valueProperty().addListener(new ChangeListener() {
78 public void changed(Observableva lue< extends Number> ov,
79 Number old_val, final Number new_val) {
80 SwingUtilities.invokeLater(new Runnable() {
81 @Override
82 public void run() {
83 Iterator it = network.getSelectionModel().selection();
84 while (it.hasNext()) {
85 Element element = (Element) it.next();
86 element.putRenderColor(new java.awt.Color(new_val.intValue()));
87 }
88 }
89 });
90 }
91 });
92 Label label=new Label("颜色:");
93 label.setPrefHeight(30);
94 hbox.getChildren().add(label);
95 hbox.getChildren().add(slider);
96 root.getChildren().add(hbox);
97 return scene;
98 }
99 private static Scene createStatusScene() {
100