elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Consulta JavaFx
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta JavaFx  (Leído 2,231 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Consulta JavaFx
« en: 23 Abril 2015, 14:18 pm »

Hola a todos.

Tengo la siguiente consulta es estado tratando de programar en javaFx pero la verdad se me hace un poco confuso.

Ya que he visto métodos en los que programan cada control con código hasta los paneles etc.

Luego encontré que lo hacen con javafx scene builder y asi evitar crear los controles a mano pero hay que hacerlo bajo un archivo fxml, y me ha dado muchos errores de compilación.

Y luego encontré que netbeans trabajaba con una herramienta llamada JavafX Composer parecida a la swing pero el problema que esta herramienta solo trabaja con Fx 1.xx obsoleto.
Mi consulta es si saben de alguna herramienta que sea parecida a swing sin tanta complicación.

Si la hayo comento gracias y tal vez puedan ayudarme saludos.


En línea

Lo que se puede imaginar... se puede programar.
Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Consulta JavaFx
« Respuesta #1 en: 23 Abril 2015, 15:59 pm »

Hola,

Cuando JavaFX nació (no JavaFX script), se creaban las GUI's con código Java, como en el caso de Swing. Luego, con versiones posteriores de JavaFX, se creó un lenguaje basado en XML que se llama FXML. Ésta forma de crear GUI's es mucho más práctica y eficiente desde el punto de vista de delegación de actividades y la fácil implementación del patrón MVC.

Cuando creas una aplicación JavaFX con FXML, tienes en primera instancia 2 capas: Vista y Controlador. Por ejemplo:

Código
  1. <AnchorPane prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="net.elhacker.javafxdemo.controllers.HelloWorldController">

Fíjate en el atributo fx:controller. Aquí, debes de indicar la ruta del controlador de dicha vista. En el caso, anterior:

Código
  1. package net.elhacker.javafxdemo.controllers;
  2.  
  3. public class HelloWorldController { /* ... */ }

Ahora, la forma de referenciar los controles FXML en el controlador, se hace a base de identificadores y anotaciones. Por ejemplo, en el FXML tienes un botón:

Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <?import javafx.scene.control.*?>
  4. <?import java.lang.*?>
  5. <?import javafx.scene.layout.*?>
  6.  
  7. <StackPane prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
  8. fx:controller="net.elhacker.javafxdemo.controllers.HelloWorldController">
  9.   <children>
  10.      <Button fx:id="btnHello" mnemonicParsing="false" text="Click me!" />
  11.   </children>
  12. </StackPane>

Fíjate en el atributo fx:id, su valor identifica al elemento. Por ello, podemos referenciarlo en nuestro controlador muy fácilmente:

Código
  1. public class HelloWorldController {
  2. @FXML private Button btnHello;
  3. }

Para asignarle un método cuando se produzca un evento en el botón, solo debemos especificar el atributo onAction="#nombremétodo":

Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <?import javafx.scene.control.*?>
  4. <?import java.lang.*?>
  5. <?import javafx.scene.layout.*?>
  6.  
  7.  
  8. <StackPane prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
  9. fx:controller="net.elhacker.javafxdemo.controllers.HelloWorldController">
  10.   <children>
  11.      <Button mnemonicParsing="false" text="Click me!" onAction="#btnHelloAction" />
  12.   </children>
  13. </StackPane>

Y en nuestro controlador:

Código
  1. public class HelloWorldController {
  2. @FXML private Button btnHello;
  3.  
  4. @FXML public void btnHelloAction(ActionEvent e) {
  5. // hacer algo
  6. }
  7. }


Usar FXML es la mejor forma de trabajar con JavaFX. Además, es la forma recomendada por Oracle.


Saludos.


« Última modificación: 23 Abril 2015, 16:00 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Consulta JavaFx
« Respuesta #2 en: 23 Abril 2015, 16:20 pm »

Creo que voy entendio muchas gracias.

Si me erredo con algo pregunto.

Saludos.
En línea

Lo que se puede imaginar... se puede programar.
HunterLuis

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Consulta JavaFx
« Respuesta #3 en: 30 Abril 2015, 16:40 pm »

Hola gus una pregunta tenes algun canal en youtube que estes impartiendo para poder comprender mejor todo lo relacionado con java fx porfa si tenes algun canal mandanos el link para poderlo ver. gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Usar JavaFX con JMF
Java
armix 0 3,525 Último mensaje 21 Septiembre 2009, 10:17 am
por armix
JavaFX
Java
mapers 0 2,162 Último mensaje 31 Mayo 2012, 07:45 am
por mapers
JavaFX Composer
Java
mapers 0 1,910 Último mensaje 31 Mayo 2012, 20:46 pm
por mapers
[JavaFX] Manual para aprender JavaFX
Java
jaxoR 1 10,567 Último mensaje 17 Noviembre 2013, 20:16 pm
por Mitsu
[JavaEE - JavaFx] RESTful con JPA (CRUD) y cliente en JavaFX
Java
Usuario Invitado 2 4,232 Último mensaje 10 Abril 2015, 22:43 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines