tutorial interfaz interfaces gui graficas grafica español ejemplos componentes java user-interface cross-platform gui-toolkit

interfaz - java swing tutorial pdf español



¿Qué marco de GUI de Java elegir ahora? (3)

¿Qué estructura / biblioteca de interfaz gráfica de usuario elegiría si fuera a iniciar su nuevo proyecto ahora o en el futuro cercano?

Tiene que ser gratuito para uso comercial y multiplataforma.

He sido un usuario de swing feliz, pero Sun parece presionar swing to deprecation, mientras empuja Javafx , que aún no está listo para el horario de máxima audiencia.

También hay SWT , pero parece que tiene problemas en Linux.

¿Cuál es tu biblioteca Gui / marco de elección?

EDITAR: Sun ha cancelado el proyecto de swingx . De los comentarios del foro en http://swingx.dev.java.net parece que la mayoría de los recursos de Sun que anteriormente trabajaban en core swing ahora están desarrollando JavaFx a tiempo completo.


En este momento, estoy usando SWT o Qt (Jambi).

Swing no evolucionó en los últimos, digamos, 10 años, los errores no se corrigieron, el desarrollo se detuvo en favor de JavaFX, por lo que nunca verás ninguna característica nueva. Es probable que JavaFX se vea genial, pero sigue siendo vaporware y está hecho por las personas que permitieron que Swing muera de hambre, así que no estoy poniendo dinero en ello.

Entre SWT y Qt, prefiero usar Qt porque es un marco muy maduro y poderoso hecho por personas que saben lo que están haciendo (bueno, la mayoría de las veces de todos modos :)) y SWT si la licencia para el nuevo proyecto no era compatible con Qt.


Todavía uso Swing, y continuaré haciéndolo hasta que ya no sea compatible. Gracias por la información sobre Javafx, tendré que buscarlo ahora.


Creo que a pesar de la mala administración de Sun, Swing sigue siendo un marco excelente. Puede hacer mucho con él, especialmente si ese "lote" implica controles de IU procesados ​​personalizados. Si su aplicación necesita un LAF de marca, o incluso algunos controles personalizados complejos aquí y allá, Swing es exactamente lo que quiere.

En el otro lado de la moneda, me gusta mucho SWT. Se critica bastante porque todos solían pensar que era la estratagema de IBM tomar el control de Java, pero en realidad es solo otro marco de UI que es bastante complementario a Swing. No aconsejaría usar SWT para la representación de gráficos súper complejos (específicamente: composición) o para crear controles personalizados realmente no triviales, pero para todo lo demás es realmente excelente. La API recibe muchas críticas debido a cosas como la dependencia de las máscaras de bits y un bucle de envío de eventos administrado por el usuario, pero la mayoría de esas cosas son bastante transparentes una vez que te acostumbras. Los componentes en sí son mucho más simples que Swing (en términos de extensibilidad y similares), lo que significa que la API puede ser proporcionalmente más simple. De hecho, puedo recordar cómo crear y llenar una tabla en SWT; mientras que no creo que haya manejado eso en Swing sin la ayuda de Google.

El mayor problema de SWT en este momento es que la versión estable depende de Carbon en Mac OS X. Esto significa que las aplicaciones SWT solo pueden ejecutar 32 bits en Java 5 (o 32 bits en SoyLatte). En cuanto a otras plataformas, SWT es fenomenal en Windows (Vista y XP) y casi igual de bueno en GTK Linux. No (en el pasado reciente) tuve problemas con SWT en Linux, así que estoy un poco sorprendido de que lo menciones como un punto delicado.

Volviendo a su pregunta: todo depende de lo que necesite su aplicación. Si se trata de una llamativa aplicación de estilo personalizado con toneladas de controles personalizados y composición compleja, Swing es el único juego de la ciudad. Sin embargo, si una API más simple es más importante para usted, o si sus usuarios exigen lo último en fidelidad LAF de plataforma, SWT es la mejor opción.