java swing ubuntu jframe fullscreen

El modo de pantalla completa de Java no funciona en Ubuntu



swing jframe (4)

Así que estoy usando Ubuntu y cuando quiero ingresar al modo de pantalla completa en Java, aparece una ventana normal con el tamaño de pantalla máximo, en lugar de una ventana de pantalla completa sin barra de título, etc. Admito que no estoy seguro de qué debería ser el modo de pantalla completa. parecer en Java, porque no lo he probado en ningún otro sistema operativo. Pero supongo que debería ser una pantalla sin barra de título. ¿Alguien más que tenga este problema?

Este es el código que uso. ; muy claro.

public static void main(String[] args) { GraphicsEnvironment env = GraphicsEnvironment .getLocalGraphicsEnvironment(); GraphicsDevice vc = env.getDefaultScreenDevice(); JFrame window = new JFrame(); window.setUndecorated(false); window.setResizable(false); vc.setFullScreenWindow(window); }


En win7, con este código (configuré la bandera no decodificada en verdadero como lo sugirió @Gilberto y agregué un panel ROJO) parece funcionar bien. Si no funciona en Ubuntu, puede significar que el modo Pantalla completa no es compatible:

import java.awt.Color; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import javax.swing.JFrame; import javax.swing.JPanel; public class Main { public static void main(String[] args) { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice vc = env.getDefaultScreenDevice(); JFrame window = new JFrame(); JPanel comp = new JPanel(); comp.setBackground(Color.RED); window.add(comp); window.setUndecorated(true); window.setResizable(false); vc.setFullScreenWindow(window); } }


Aunque esto podría no ser aplicable en la mayoría de los casos, me gustaría compartir mi solución a este problema.

En mi caso, frecuentemente necesito desarrollar aplicaciones Java / Scala para nuestra institución universitaria (pruebas psicológicas). Para circunestelar este problema, decidimos instalar el pez sierra en nuestra PC experimental.

Si esta solución es aplicable a sus necesidades, puede instalar (un pez sierra extremadamente desactualizado) a través de las instalaciones de Ubuntu (Software Center, Aptitute, apt-get) o, lo que prefiero, instalar o compilar un pez sierra actualizado de forma manual.

Otros administradores de ventanas y / o escritorios pueden ofrecer una funcionalidad similar, pero experimentamos artefactos cuando probamos XFCE o LXDE con paneles deshabilitados / eliminados.


En Ubuntu (probablemente otros Linuxes también) no funciona. El modo de pantalla completa en Java no cubre la pantalla completa, pero deja las barras de herramientas fuera. Siempre, lo que sea que hagas.

Probé los dos ejemplos anteriores y los ejemplos del tutorial FSEM oficial y alguna aplicación que conozco utilizan Java / Swing y modo de pantalla completa (FreeCol y TripleX) y nadie pudo cubrir las áreas de tarea / barra de herramientas de la pantalla.

Mi configuración es Ubuntu 12.10 con OpenJDK o SUN-JRE 1.7.0_09 y con Unity o Gnome. Curiosamente, la llamada java a isFullScreenSupported () devuelve verdadero. Entonces, aunque el JRE de Java dice que es compatible con la pantalla completa exclusiva, no es así.

Algunas posibles explicaciones podrían darse en otra pregunta .


Este hilo es muy antiguo, pero aún aparece en resultados de búsqueda REALES pero con respuestas incorrectas. Así que publicaré la solución real.

La pantalla completa de Swing se establecerá con la función setExtendedState () , ¡no con la función setFullScreenWindow () !

JFrame myFrame = new JFrame(); .... myFrame.setExtendedState(MAXIMIZED_BOTH);

Luego tendrá una ventana de pantalla completa decorada, con todos los botones y una barra de herramientas correcta y funciona bien con Ubuntu y cualquier otro sistema operativo.