Translate

Mostrando las entradas con la etiqueta Apache Pivot. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Apache Pivot. Mostrar todas las entradas

sábado, 30 de enero de 2010

Apache Pivot


Apache Pivot es un proyecto que hace poco fue promovido a top level en la organización apache.








Apache Pivot es un framework de presentación para hacer RIAS a simple vista, me hizo acordar a bindows (otro framework de presenteción) . La idea es generar un xml (WTKX) que contenga los componentes y el layout de tu RIA y vos programas en java, pare sido a la filosofía Flex o Silverligh.












Apache Pivot se ejecuta como un applet embebido y esta basado en Java2D y además implementa el patrón MVC. Obviamente esta bajo licencia apache.





Veamos un ejemplo:


public class HelloJava implements Application {
private Window window = null;



@Override

public void startup(Display display, Map properties) {

Label label = new Label();

label.setText("Hello World!");

label.getStyles().put("font", new Font("Arial", Font.BOLD, 24));

label.getStyles().put("color", Color.RED);

label.getStyles().put("horizontalAlignment",

HorizontalAlignment.CENTER);

label.getStyles().put("verticalAlignment",

VerticalAlignment.CENTER);



window = new Window();

window.setContent(label);

window.setTitle("Hello World!");

window.setMaximized(true);

window.open(display);

}



@Override

public boolean shutdown(boolean optional) {

if (window != null) {

window.close();

}



return false;

}



@Override

public void suspend() {

}



@Override

public void resume() {

}



public static void main(String[] args) {

DesktopApplicationContext.main(HelloJava.class, args);

}

}

Luego de hacer esta clase podemos configurar el applet:

<applet code="org.apache.pivot.wtk.BrowserApplicationContext$HostApplet"

archive="lib/pivot-core-[version].jar,lib/pivot-wtk-[version].jar,lib/pivot-wtk-terra-[version].jar,lib/pivot-tutorials-[version].jar"

width="160" height="80">

<param name="applicationClassName" value="org.apache.pivot.tutorials.HelloJava">

</applet>

En este caso no necesitamos definir el xml que contiene la estructura.

Veamos un ejemplo con este xml armado:

public class HelloWTKX implements Application {
     private Window window = null;
      @Override
    public void startup(Display display, Map properties)         throws Exception {
        WTKXSerializer wtkxSerializer = new WTKXSerializer();
        window = (Window)wtkxSerializer.readObject(this, "hello.wtkx");
        window.open(display);
 }
     @Override
    public boolean shutdown(boolean optional) {
      if (window != null) {
         window.close();
    }
     return false;
    }
        @Override
    public void suspend() {
    }
     @Override
    public void resume() {
    }
     public static void main(String[] args) {
     DesktopApplicationContext.main(HelloWTKX.class, args);
    }
  
}

      
Definimos el xml que tiene la estructura:
<Window title="Hello WTKX!" maximized="true"     xmlns:wtkx="http://pivot.apache.org/wtkx"     xmlns="org.apache.pivot.wtk">
    <content>
        <Label text="Hello WTKX!"
            styles="{font:'Arial bold 24', color:'#ff0000',                 horizontalAlignment:'center', verticalAlignment:'center'}"/>
    </content>
</Window> 

Ahora ya tenemos un pantallaso de un ejemplo de Pivot.
     

Para ver lo que se puede hacer aquí dejo el link de demos: http://pivot.apache.org/demos/