Soy nuevo en la programación de GUI de Java y quiero crear una aplicación de GUI de Java que pueda ejecutarse tanto en Windows como en Linux con el mismo código (el mismo archivo ejecutable/objeto).
¿Es eso posible sin problemas de compatibilidad/errores/bugs?
¿Qué más (como bibliotecas, clases, paquetes) necesitaré para poder diseñar la GUI en Java?
¿Deberían estar presentes estas bibliotecas en todas las computadoras y todos los sistemas operativos para que la aplicación pueda ejecutarse? ¿O la máquina virtual de Java (JVM) instalada en una computadora es suficiente?
Swing es el marco que puede ayudarlo a escribir aplicaciones GUI en Java. Eche un vistazo al tutorial de Swing de Oracle: http://docs.oracle.com/javase/tutorial/uiswing/
Acerca de la compatibilidad de la plataforma: la mayoría de las distribuciones de Linux instalan OpenJDK (alternativa de código abierto de Java) como compilador de Java predeterminado. En general, funciona bien con el programa escrito con Oracle JDK. Pero si quiere estar seguro, también puede instalar Oracle JDK en Linux.
Acerca del IDE de desarrollo: Eclipse y Netbeans están disponibles en varias plataformas, incluidas Windows y Linux.
javax.swing.* , ya incluido en JRE/JDK)Swing hará esto por ti. No es tan bonito como la interfaz de usuario nativa, pero funciona bien y no requiere bibliotecas de terceros: http://docs.oracle.com/javase/tutorial/uiswing/