Salut !!
J'ai un probleme ds un programme JavaFx
je Veux afficher Un texte dans une scenegraphique ,
Le texte vient d'un fichier XML !!
J'utilise pour faire ca PulParser , La résultat s'affiche au console mais pas ds la Scenegraphique !!
aide moi !!
voila l code
la suite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 /* * Main.fx * * Created on 4 avr. 2010, 23:34:24 */ package rrr; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.text.Text; import javafx.scene.text.Font; import javafx.scene.control.Button; import javax.swing.JButton; import javafx.ext.swing.SwingComponent; import javafx.ext.swing.SwingButton; import javafx.io.http.HttpRequest; import java.lang.Exception; import java.io.InputStream; import rrr.PrPullParser; import java.util.List; import javafx.scene.input.MouseEvent; import javafx.scene.text.TextOrigin; import javafx.scene.paint.Color; import javafx.scene.Group; import javafx.scene.Node; import rrr.Main.textmaladie; /** * @author Administrateur */ var a1:Button[]; var a2:Button[]; var t1:Text[]; var sq:String[]; var n=100; var tstb=testButton{}; var sceneRef: Scene; var text="Start ghazali"; var id=1; var perso:Pr[]; var pp:Pr; //var personne:Pr; var fulltext=FullText{translateX:20 translateY:40 visible:true}; class textmaladie extends Text{ var textX:Number; var textY:Number; public var personnes:Pr; var text:Text; override public var onMouseClicked = function(e:MouseEvent) { text=Text{ layoutX:500 layoutY:400 textOrigin:TextOrigin.BOTTOM content:personnes.nom //font:Font{name:"Arial*" size:23}; //fill:Color.BLUE }; println("clicked{personnes.nom}"); } } var stagCont:Node[]; var txtmld:textmaladie[]; for(i in [0..3]){var txx=textmaladie{ x:400 y:400 content:"Nez" onMouseClicked:function(e:MouseEvent){stagCont}}insert txx into txtmld} var textmaldieGroup=Group{content:bind txtmld }println("content de textmaladie:::{txtmld}::"); function loadPersson(person:Pr,txm:textmaladie):Void{ txm.text=Text{ x:100 y:200 content:person.nom fill:Color.GREEN font:Font{size:20}}; txm.personnes=person; println("ID_person_NOM::{person.nom}"); println("ID:{txm.personnes.nom.toString()}"); }; function updaetpersonne(){for(j in [0.. sizeof perso-1]){loadPersson(perso[j],txtmld[j])}} function loadPersonneMetaData(){ var start=bind text; id+=1; //println("Call Restful web service ... Start-->{start}"); var httpRequestError:Boolean=false; var request:HttpRequest=HttpRequest{ location:"http://localhost:8080/JavafxServer/resources/personnes/?id={id}&max=4" onConnecting:function(){println("Connexion.....");} method:HttpRequest.GET onRead:function(byt:Long){ def loadpregress=if(request.toread>0)"{(byt*100/request.toread)}%"else"rien a charger"; println("{loadpregress}"); } onException:function(ex:Exception){ex.getStackTrace();httpRequestError=true;println("Erreur{ex.getMessage()}");} onResponseCode:function(repCode:Integer){if(repCode!=200)println("Erreurrrrrrrrrrr ::{repCode} {request.responseMessage}");} onInput:function(input:InputStream){ try{ var parser=PrPullParser{ onDon:function(data:Pr[]){ perso=data; updaetpersonne(); }; } // for(i in [0..2]){ println("person{i}"pe );} parser.parse(input); }finally{input.close();} } } request.start(); } stagCont=[textmaldieGroup,fulltext]; loadPersonneMetaData(); Stage { title: "Application title" scene:sceneRef=Scene { width: 800 height: 500 content:bind stagCont }}
Le fichier XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 /* * PrPullParser.fx * * Created on 28 avr. 2010, 10:13:22 */ package rrr; import javafx.data.pull.Event; import java.io.InputStream; import javafx.data.pull.PullParser; import java.lang.Integer; /** * @author Administrateur */ public class PrPullParser { public var perss:Pr[]; public var per:Pr; public var onDon:function(data:Pr[])=null; def parseEventRepond=function(event:Event){ if(event.type==PullParser.START_ELEMENT){proccessEventStart(event);} else if(event.type==PullParser.END_ELEMENT){processeEventEnd(event);} else if(event.type==PullParser.END_DOCUMENT){if(onDon!=null)onDon(perss)} } function proccessEventStart(event:Event){ if(event.qname.name=="personne" and event.level==1) per=Pr{}; } function processeEventEnd(event:Event) { if(event.qname.name=="personne" ){ insert per into perss; } else if(event.qname.name=="id" ){ per.id=event.text; } else if(event.qname.name=="nom" ){ per.nom=event.text; } else if(event.qname.name=="prenom" ){ per.prenom=event.text; } else if(event.qname.name=="adress" ){ per.adress=event.text; } else if(event.qname.name=="email" ){ per.email=event.text; } else if(event.qname.name=="zip" ){ per.zip=event.text; } } public function parse(input:InputStream):Pr[] { def parser=PullParser{ input:input onEvent:parseEventRepond documentType:PullParser.XML } parser.parse(); //println("input : {input}"); println("id : {per.id}"); println("nom : {per.nom}"); println("prenom : {per.prenom}"); println("adress : {per.adress}"); println("emaile : {per.email}"); println("zip : {per.zip}"); println("//////////////////////"); for(p in [0..sizeof perss]) println("press.nom : {per.nom}"); return perss; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <personnes uri="http://localhost:8080/JavafxServer/resources/personnes/"> − <personne uri="http://localhost:8080/JavafxServer/resources/personnes/1/"> <adress>ensa</adress> <email>ghazali@gmail.com</email> <id>1</id> <nom>ghazali1</nom> <prenom>mohamed1</prenom> <zip>40160</zip> </personne> − <personne uri="http://localhost:8080/JavafxServer/resources/personnes/2/"> <adress>ensa</adress> <email>ghazali@gmail.com</email> <id>2</id> <nom>ghazali2</nom> <prenom>mohamed2</prenom> <zip>40160</zip> </personne> − <personne uri="http://localhost:8080/JavafxServer/resources/personnes/3/"> <adress>ensa</adress> <email>ghazali@gmail.com</email> <id>3</id> <nom>ghazali3</nom> <prenom>mohamed3</prenom> <zip>40160</zip> </personne> − <personne uri="http://localhost:8080/JavafxServer/resources/personnes/4/"> <adress>ensa</adress> <email>ghazali@gmail.com</email> <id>4</id> <nom>ghazli4</nom> <prenom>mohamed4</prenom> <zip>40160</zip> </personne> </personnes>
Partager