2010-05-28 17 views
22

En mi proyecto actual tenemos que desarrollar una buena aplicación de escritorio en java.¿Podemos desarrollar una interfaz de usuario muy atractiva en swing y si no lo son las alternativas?

Actualmente, tenemos una aplicación de escritorio muy básica escrita en swing y el equipo no tiene un buen conocimiento de swing. ¿Podemos crear una interfaz de usuario muy buena en swing?

¿Deberíamos usar JavaFX para crear la aplicación de escritorio?

¿Cuáles son otras alternativas para hacer esto?

+0

Posibles duplicados: http://stackoverflow.com/questions/2592207/how-to-improve-look-and-feel-of-java-swing-gui y http://stackoverflow.com/questions/559559/ good-look-java-swing-lookfeel – Gnoupi

+0

JavaFX está prácticamente muerto. – helpermethod

+1

@OliverWeiler en absoluto! El script de JavaFX está muerto, ¡JavaFX 2.1 está más vivo que nunca! – eversor

Respuesta

25

Swing es muy flexible en lo que respecta al aspecto y la sensación, y ciertamente puedes hacer aplicaciones muy atractivas con Swing.

Recomiendo el libro Filthy Rich Clients de Chet Haase y Romain Guy si quieres aprender a hacer buenas aplicaciones de Swing GUI.

+2

+1 por mencionar a los clientes ricos asquerosos. No hay mejor libro para entender las complejidades de Swing. –

+0

No sabía que Swing podía verse tan bien hasta que vi las muestras en el libro. De hecho, el autor ahora trabaja en el marco de Android. – OscarRyz

5

Definitivamente puede crear UI de gran apariencia en Swing - aplicaciones como NetBeans y IntelliJ IDEA han demostrado esto entre muchos otros.

La única alternativa que tiene Swing es SWT (Eclipses toolkit), sin embargo, no es portátil como Swing y tampoco es tan flexible. Sin embargo, ofrece un rendimiento más rápido y el uso de componentes nativos, que podría ser lo que algunas personas realmente desean.

Hay enlaces Java para la mayoría de herramientas GUI existentes, así - por ejemplo Java for Gnome y alguien podría encontrar interesante.

Sin embargo, estoy a favor de la extrema portabilidad de Swing, adopción de MVC, apariencia conectable, disponibilidad de muchas bibliotecas de terceros con componentes adicionales (SwingX, JIDE, ...) y facilidad de uso.

BTW para obtener resultados óptimos en Swing, la elección de un buen administrador de disposición es esencial. Te recomiendo que eches un vistazo al omnipotente MiG layout.

8

Echa un vistazo http://www.pushing-pixels.org/. Kirill es el autor de Substance, que ofrece una gran cantidad de nuevas opciones de apariencia para Swing. Here es una entrada de blog que muestra un poco de lo que es posible con Swing. Solía ​​haber un enlace a su presentación de 2007 en Java One, pero desafortunadamente el enlace ya no funciona.

0

De ustedes responden que no es muy claro cuál es su problema. Una solución simple, pero a menudo suficiente, es cambiar el aspecto de su aplicación a la apariencia y apariencia predeterminados de Systems (por lo que Swing se ve como una aplicación nativa).Todo lo que necesita hacer es insertar el siguiente código en algún lugar antes de crear cualquiera de su interfaz de usuario/muestra (si usted no sabe dónde colocarlo como la primera en su método principal):

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch (Exception e) { 
// exit application, log or ignore exception 
} 
2

Don' t toca JavaFX 1 con un bargepole.

JavaFX 2, sin embargo, parece muy prometedor, con Oracle diciendo que van a integrarlo estrechamente a Java 8. Tiene una API muy buena, se acelera gráficamente, se puede escanear prácticamente como se desee con CSS3 y por defecto también se ve muy bien.

La única advertencia es que todavía no está disponible para Linux, pero si está buscando desarrollar una aplicación que se lanzará en los próximos años, o si no está demasiado preocupado por la espera para soporte multiplataforma, es una buena opción a considerar.

+0

¿De qué hablabas, puedes ser un poco concreto, +1 para eliminar por la comunidad como no_contestador – mKorbel

+0

@mKorbel No estoy seguro de que te sigo? Estoy diciendo que JavaFX 2.0 puede crear aplicaciones atractivas, y puede valer la pena considerarlo como una opción, ya que Oracle parece tomarlo en serio ahora. – berry120

+0

bien sueño (s), pero este proyecto parece congelarse como Java7, sin progreso – mKorbel

Cuestiones relacionadas