Dessin dynamique dans une Scene
Bonjour,
J'essaye de dessiner ( des carrés... par exemple) depuis une classe.
Je crée une instance de cette classe depuis la scene sur laquelle je veux la dessiner (j'ajouterais le code pour le poser à l'emplacement du clic).
Question:
Comment faire pour récupérer le contexte graphic,ou autre, et forcer à dessiner?
Le code la scene
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
|
var sceneRef: Scene;
Stage {
title: "Application title"
scene: sceneRef=Scene {
width: 250
height: 80
content: [
Text {
font : Font {
size : 16
}
x: 10
y: 30
content: "Application content"
}
Button {
text: "creer carre"
action: function() {
instance();
}
}
]
}
}
//
// Declaration des Fonctions
//
function instance():Void{
var pCarre= objectClasse{}
pCarre.creerCarre();
} |
Puis là volontairement "lighté" la classe objetClasse:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class objectClasse {
var x;
var y;
public function creerCarre():Void{
Rectangle {
x: 20, y: 20
width: 140, height: 90
fill: Color.BLACK
}
println("passageCarre")
}
} |
(Je commence juste sur javaFX)
Ceci dit, en java j'aurais surchargé paint(Graphics g) etc...
Merci d'avance.....
Dessin dynamique dans une scene
Merci pour vos réponses et votre aide
Pour ceux que ça intéresse ci-dessous le code minimaliste:
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
|
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.control.Button;
import javafx.scene.shape.Rectangle;
/**
* @author sahnurkasapyan
*/
var sceneRef: Scene;
var s:Rectangle;
Stage {
title: "Application title"
scene: sceneRef=Scene {
width: 250
height: 80
content: [
Text {
font : Font {
size : 16
}
x: 10
y: 30
content: "Application content"
}
Button {
text: "creer carre"
action: function() {
var pCarre= objectClasse{}
s=pCarre.creerCarre();
insert s into sceneRef.content;
}
}
]
}
} |
La classe objet:
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
|
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
/**
* @author sahnurkasapyan
*/
public class objectClasse {
var x;
var y;
var s:Rectangle;
public function creerCarre():Rectangle{
s=Rectangle {
x: 20, y: 20
width: 100, height: 50
fill: Color.AQUA
};
return s;
//println("passageCarre")
}
} |