Puedo hacer que los programas de Java, muchos de los cuales requieren la entrada de datos desde la línea de comandos antes de que realmente se abra una ventana. Cuando estoy usando el Terminal en modo de pantalla completa y me quedo java Program
, salta sobre un abierto de escritorio y, a continuación, no hace nada, que me tiene que volver a la Terminal para hacer las cosas que se le pregunta y luego cambiar. Sé que es una solución muy simple de utilizar la pantalla completa pero, ¿hay alguna manera de dejar el foco permanecer en la línea de comandos hasta que el programa está listo para abrir la ventana?
Respuestas
¿Demasiados anuncios?Me gustaría recomendar la no asignación de cualquiera de los elementos de la GUI hasta después de la entrada de línea de comandos está terminado.
Si ejecuta la aplicación desde un no-Terminal de pantalla completa, usted probablemente notará que se inicia la aplicación en el Dock (incluso si windows no aparecen) antes de finalizar la introducción de la línea de comandos cosas. Esto es probablemente lo que está causando el Espacio-switch.
@CajunLuke es derecho, Apple la Máquina Virtual de Java prepara el escritorio para mostrar un compañero de componentes, incluso antes de setVisible()
lanza el envío de evento hilo. Es una característica, la mayoría del tiempo. Una forma de lograr el efecto deseado para iniciar la GUI de componentes en un aparte de la JVM, como se muestra aquí el uso de ProcessBuilder
.
Ver también el Uso de Headless Mode en Java SE de la Plataforma.