Help Pleaase ! probleme dans JavaFx
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
Code:
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
}} |
la suite
Code:
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;
}
} |
Le fichier XML
Code:
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> |
:cry::cry::cry: