problème d'affichage en changeant la scene
Bonjour à tous
J'ai deux variable de type scene : sceneList et sceneDetail.
En gros, je veux pouvoir changer de scene en restant dans la même fenêtre. Je suis dans sceneList, je clique et je change la variable scene du Stage. Du coup, c'est sceneDetail qui apparait.
Ca marche bien, excepté la deuxième scene qui est mal rendue : tous les composants swing sont empilés. Il suffit que je retaille la fenêtre pour que les composants se replace comme il faut.
ci-dessous, le code de la classe
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
|
var instance: BanqueListeWindow_2=null;
public function getInstance():BanqueListeWindow_2{
if (instance == null) {
instance=BanqueListeWindow_2{
};
}
return instance;
}
//la classe qui correspond à la fenêtre, initialisée avec sceneList
public class BanqueListeWindow_2 extends Stage{
override var title= "Application";
override var visible=true;
override var scene = sceneList};
override var onClose= function(){instance=null;}
}
var sceneList:Scene = Scene {
width: 600
height: 400
content: [ SwingButton { text: "Validate" action: function() { println("sceneList"); instance.scene=sceneDetail;}}
]
}
var sceneDetail:Scene = Scene {
width: 600
height: 400
content: [
VBox{spacing:10
content: [
HBox {
translateY: 15
translateX: 15
spacing: 10
content: [
SwingLabel {
text: "Name"
font: Font {
name: "Arial",
size: 16,
embolden: true
}
},
SwingTextField {
columns: 10
text: "Bank"
editable: true
}
]
},//Hbox
SwingButton {
text: "Validate"
action: function() { println("sceneListe"); instance.scene=sceneList;}
}
]
}//VBox
]
} |
Y-a-t-il une fonction pour effectuer un refresh d'un scene ?
S'agit-il d'un bug ?
Il est possible que je m'y prenne mal. Comment je dois faire alors ?
Merci de vos réponses
Adrien