Bonjour,
Je connais plutôt bien le langage Java, mais je l'utilise dans des runtimes allégés pour l'embarqué et donc je suis peu au fait des classes dispos sur PC. Je souhaite pouvoir décrire des hiérarchies de widgets avec des fichiers XML ou JSON (j'étais plutôt parti sur XML pour pouvoir fournir les XSD qui vont bien) et pouvoir générer du code Java à partir de ces descriptions.
Un exemple pour clairement illustrer le propos.
En entrée :
Code GUI.xml : 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 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <page class="MyPage"> <content> <layout class="MyLayout"> <widget class="MyLabel"> <position> <x>15</x> <y>15</y> </position> </widget> <widget class="MyButton"> <position> <x>30</x> <y>40</y> </position> </widget> </layout> </content> </page>
En sortie :
Code MyPage.java : 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 package com.gradot.custom; public class MyPage extends Page { private MyLayout myLayout; private MyLabel myLabel; private MyButton myButton; public MyPage() { myLayout = new MyLayout(); myLabel = new MyLabel(); myLabel.setPos(15, 15); myLayout.add(myLabel); myButton = new MyButton(); myButton.setPos(30, 40); myLayout.add(myButton); } }
On m'a parlé de JAXB, j'ai regardé un peu mais je n'ai pas l'impression que ça réponde au problème. De ce que j'ai compris, JAXB permet de générer des objets Java à partir d'un XML de description mais aussi d'une classe de référence annotée. Or, je souhaite générer une classe (le fichier Java) et non une instance. Me suis-je tromper ? JAXB peut-il répondre à mon problème ? Si je ne me suis pas trompé, connaitriez-vous des outils ou bibliothèques qui peuvent m'aider à faire ça ?
Merci pour vos lumières !
Partager