Social

jueves, 10 de enero de 2013

Usando FXML con controlador Java

FXML provee una estructura para construir interfaces de usuario separando lo visual de la lógica de la aplicación. Esta separación permite la creación de interfaces visualmente impresionantes sin la necesidad de usar código Java muy complejo. Esto puede tomarse como un Modelo Vista Controlador (MVC).
Al final se puede definir interfaces sencillas muy bien organizadas fácil y rápidamente. Como por ejemplo la siguiente:



Para realizar lo anterior solo se necesita definir la interfaz de la siguiente forma, en este caso se utilizo un BorderPane, el cual es un panel se divide en secciones (top, left, center, right, botton)



FXML es un XML a final definido con etiquetas que representan objetos visuales que pueden ser utilizados desde java. Al usar un controlador podemos usar una clase de java para definir la lógica detrás de la interfaz. El código fx:controller="blog.BorderController" se encarga de esto.

Una vez definido el controlador podemos usar los objetos definidos dentro del FXML para modificarlos y aplicar acciones cuando se usan, el ejemplo mas obvio es el Boton, cuya etiqueta tiene un onAction="#handleButton" que manda a llamar al método en el controlador. El siguiente código Java muestra el controlador.

Como se puede observar se usan las etiquetas @FXML sobre los objetos y métodos definidos en el FXML para lograr comunicarse con ellos. La clase FXMLLoader es la encargada de cargar el el FXML definido agregando lo a un Scene y luego al Stage dejandolo listo para ser usado.


Webstart: Click para lanzar el ejemplo


No hay comentarios :

Publicar un comentario