2009-05-03 12 views
9

Quizás una pregunta filosófica. Últimamente, he visto imágenes visuales interesantes en las GUI, principalmente en las API de la plataforma nativa. Sé que "es solo software" y que, con suficiente trabajo, todo se puede hacer con píxeles. La pregunta es (¡por fin!) Si Java es realmente una opción para hacer cosas sofisticadas con una GUI. Parece una tontería, supongo, pero me gusta algo del trabajo de Windows Presentation Foundation. No veo un esfuerzo consolidado como este para Java. ¿Dónde debería mirar?¿Interfaz gráfica de usuario avanzada posible en Java?

Respuesta

10

Eche un vistazo a JavaFX.

+0

+1 JavaFX es excelente – WolfmanDragon

+0

He oído a algunas personas decir que puede no sobrevivir a la adquisición de Oracle. No sé si hay algo de cierto en eso, pero ciertamente me hace dudar de retomar el marco. Por otra parte, ¿no es de código abierto? –

+0

Estaría más preocupado de que Swing sobreviviera a la adquisición de Oracle. Lo que quiero decir es que no habría un esfuerzo significativo para seguir mejorando Swing. JavaFX estaba absorbiendo todo el oxígeno antes de la adquisición de Oracle, y aún está por verse si continuarán esa tendencia, pero no habrá tanto espacio para lo sentimental durante la toma de control. – Yishai

9

Ha habido algunos avances en el frente de la GUI en Java.

Por ejemplo, a partir de Java 6 Update 10, es posible hacer ventanas transparentes y forma (ventanas es decir, de forma arbitraria-comúnmente visto en reproductores de medios) en Java:

How to Create Translucent and Shaped Windows

Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications por Chet Haase and Romain Guy es un buen libro lleno de consejos para hacer GUIs avanzadas en Swing.

5

Si le gusta una GUI poderosa y no le molesta que no sea completamente Java-y, obviamente revise el Standard Widget Toolkit (el conjunto de herramientas de ventana detrás de eclipse).

1

'consolidado' y 'Java' no suelen ir juntos, pero aparte de eso no hay Pivot, Thinlet, Swing y SWT .. y muchos otros. Entonces creo que la respuesta es: Sí, los hay.

1

Las únicas limitaciones para Java (en algunas plataformas) es la integración perfecta entre la JVM y el sistema operativo host ui frameworks (piense en arrastrar y soltar, etc.).

Más allá de eso, ¿qué es lo que quieres hacer que crees que Java no podrá manejar?

+0

Creo que el que pregunta está diciendo que uno de los problemas con las GUI de Java es que realmente no combinan bien con el sistema operativo anfitrión. –

1

Habiendo hecho importante desarrollo en Java swing, yo diría que si sólo Windows es lo que quiere, yo creo mucho sobre qué ventaja de Java le da más de .NET para hacer que valga la buscabamos. Sí, finalmente puedes hacerlo. Existe un gran software que muestra que se puede hacer. No es facil. En absoluto.

Pero si desea hacer el desarrollo de la GUI de Windows, al final del día, Java se interpondrá en su camino. ¿Desea interactuar con un servicio de Windows (como Desktop Search, solo para elegir un ejemplo)? Muy difícil de hacer

Por otro lado, si necesita que su software sea independiente de la plataforma, ese es un juego de pelota completamente diferente.

JavaFX es muy prometedor, pero es muy nuevo. Muchas de las cosas que esperas estar allí, todavía no lo son, para las aburridas aplicaciones comerciales de todos modos. Si estás escribiendo un juego, eso es un poco diferente.

+0

Re: swing tou puede simplemente modificar Swing look'n'feel según [este tutorial de Sun] [1]. [1]: http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/ – rogerdpack

3

El libro Filthy Rich Clients cubre muchas técnicas avanzadas de renderizado y animación en Swing y Java2d. Puede valer la pena mirar si JavaFX no es una opción.

Cuestiones relacionadas