Hello there,
I m really glad Gwt4Air could help you
.
Hopefully you guys are also going to like the next features
With the version 2 coming out in few days, i receive a lot of emails asking me what "support for the flex framework" means. Well it simply means that i ll export the flex api to java(GWT), just like i did with the other apis.
The idea of this project started with a discussion with a customer who had a team of java developers and wanted to write flex based AIR applications without going the AS3 way. They asked me if it s possible the export flex to java. The first time i said i dont think so 
The problem with flex is that the mxml compiler generates a lot of code under the hood. And even if you take a look at the generated code you can not learn much from it because it es really cripted
So i had to find a way to manually load flex. I wont explain how i did it here since the project will be open source anyway
, but after the release one will be able to do something like this(I m stiill working on the API though) :
Code:
ExampleButton testButton = new ExampleButton("Adobe Flex Test");
testButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
FlexFrameworkWrapper.get().initFlex(FlexSkin.HALO, true, new FlexInitiaLizationHandler() {
@Override
protected void onInitialization() {
Button b2 = Button.newInstance();
b2.setLabel("I m an sparkButton");
b2.setX(10);
b2.setY(10);
b2.setHeight(40);
Runtime.trace(b2);
Panel panel = Panel.newInstance();
panel.setTitle("Gwt4Air 4 Air Rocks");
com.ekambi.gwt.air.flex.client.mx.controls.Button b = com.ekambi.gwt.air.flex.client.mx.controls.Button.newInstance();
b.setLabel("I m a mxButton");
b.setX(10);
b.setY(60);
b.setHeight(40);
DateChooser dc = DateChooser.newInstance();
dc.setX(148);
dc.setY(10);
panel.addElement(b2.asIVisualElement());
panel.addElement(b.asIVisualElement());
panel.addElement(dc.asIVisualElement());
FlexFrameworkWrapper.get().addChild(panel);
FileSystemDataGrid grid = FileSystemDataGrid.newInstance();
grid.setX(500);
grid.setY(10);
FlexFrameworkWrapper.get().addChild(grid);
com.ekambi.gwt.air.flex.client.mx.containers.Panel mxPanel = com.ekambi.gwt.air.flex.client.mx.containers.Panel.newInstance();
mxPanel.setTitle("FileSystemTree");
mxPanel.setX(10);
mxPanel.setY(350);
mxPanel.setWidth(455);
mxPanel.setHeight(200);
FileSystemTree fileSystemTree = FileSystemTree.newInstance();
mxPanel.addElement(fileSystemTree.asIVisualElement());
FlexFrameworkWrapper.get().addChild(mxPanel);
});
}
});
}
});
you can see the result here :
[INLINE]24057[/INLINE]
Like always feedbacks are very welcome.
stay tuned 
Regards,
Alain