En nuestra empresa utilizamos Swing, ya que es compatible con la JVM de fábrica, pero utilizamos colores de fondo codificados por colores para algunos paneles y botones.
Si utilizáramos algo diferente, como SWT o Jambi, también tendríamos que implementar esos marcos para todas las plataformas, y probar esos marcos para todos los sistemas operativos (OSS) y las versiones (compatibles) de Java. No es agradable en absoluto.
Sin embargo, es bastante difícil crear una buena aplicación receptiva con Swing; así que realmente necesitas usar SwingWorker y demás. Con un poco de experiencia, sin embargo, puedes crear una buena aplicación de esa manera.
E incluso si no es el marco más rápido para desarrollar, el tiempo de desarrollo es realmente pequeño en comparación con la definición de los requisitos funcionales de la interfaz de usuario, y las pruebas y soporte cuando se lanza la versión.
Dicho esto, nuestro objetivo son los equipos de sobremesa. Si se dirige a dispositivos móviles o también necesita una interfaz web, sus opciones pueden variar.
@Jules Olléon: envío software comercial escrito en Java que funciona en Windows, OS X y Linux. Utilizo Swing y el editor de GUI de IntelliJ (que es genial porque oculta automágicamente una gran cantidad de código Swing sin interés extenso y sin sentido) y algunos componentes hechos a medida (estos funcionan al 100% en todas las plataformas). Como una barra de progreso dual/tri/cuádruple personalizada, una lista personalizada de "encontrar según se escribe" (como la que Google está utilizando para sugerencias) y algunos componentes personalizados más avanzados específicos de mi dominio problemático. – SyntaxT3rr0r
@WizardOfOdds: ¿Qué LaF está utilizando en Windows y Linux? ¿Estás usando el estilo de Windows y GTK o Swing por defecto? – Jonas
@Jonas: en Windows ofrecemos a nuestros usuarios la opción entre el diseño Swing predeterminado y Nimbus. En Linux es el Swing predeterminado, sea lo que sea que sea: pero hay un * lote * de problemas (incluidas muchas preguntas aquí en SO). Por ejemplo, tenemos "pestañas que se pueden cerrar" y * debemos * ejecutar debajo de 1.5. Por lo tanto, tenemos nuestro propio procesador de pestañas, etc. Es un mundo * salvaje * de incompatibilidades :) El software * funciona * en Linux y nosotros los desarrolladores lo desarrollamos y probamos en Linux, pero solo estamos vendiendo en OS X y Windows :) – SyntaxT3rr0r