JavaFX can call any Java apis, so if you can do it in Java you can do it in JavaFX. Yes, you can create any GUI widgets at runtime. The code below creates a column of rows, where each row has a label with the name of the field and a text box to edit the value. I've ignored the Java reflection code required, but I assume you can already do that part.
- j class PojoField { var name:String; var value:String; var ref:Object; } class PojoInspector { public function getFields(cls:Class):PojoField[] { // some code which inspects the class and returns a sequence of PojoField objects } } var ins = PojoInspector{}; VBox { content: for(field in ins.getFields(pogo.getClass())) { HBox { content: [ Label { text: field.name } TextBox { text: field.value action: function() { //some reflection code to call the setter on field.ref }} ] } } } On Sep 16, 2009, at 3:06 PM, Dan Haywood wrote: > > Sure... that was a rather vague question (and I think I probably > abused the term 'metaprogramming' horribly). > > Anyhoo, my project builds a metamodel from the pojo domain model > (equivalent to a Hibernate .hbm model), and then we use this to > programmatically create widgets on the UI corresponding to the > properties, collections and public operations exposed by the pojo. > > I think my question really is: is there to write something like: > > for(Field field: pojo.getClass().getFields()) { > JavaFXWidgetThingy widget = new JavaFXWidgetThingy(); // > simplified: would actually want to create a widget of the correct sort > based on the field type > > ... wire up listeners and bindings on the widget for the field of > the pojo ... > > addToForm( widget ); > } > > The fact that the loop is driven from a metamodel is I suppose > irrelevant to the question. > > Am I off base? does this make sense as a question? > > Thx! > Dan > > -------- > > On Sep 16, 10:52 pm, Joshua Marinacci <jos...@marinacci.org> wrote: >> can you define what you mean by 'metaprogramming' in this context? >> On Sep 16, 2009, at 2:31 PM, Dan Haywood wrote: >> >> >> >>> Hi all, first post! >> >>> Since we have knowledgeable people responding on another thread >>> about >>> JavaFX, I have another question, namely, is there any way to do >>> metaprogramming in JavaFX. I currently work on an open source >>> framework (below) that builds a generic OO UI from a metamodel, >>> built >>> up programmatically. >> >>> I'm thinking that JavaFX is an obvious technology for a new UI, but >>> what I need to know is ... does JavaFX provide similar programmatic >>> APIs for assembling the layout? >> >>> Thx >>> Dan >>> http://danhaywood.com >>> "Domain Driven Design using Naked Objects",http://pragprog.com/titles/dhnako >> >> > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javaposse@googlegroups.com To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---