2008-09-26 34 views

Respuesta

23

Pruebe el Full-Screen Exclusive Mode API. Fue introducido en el JDK en la versión 1.4. Algunas de las características incluyen:

  • de pantalla completa Modo exclusivo - le permite suspender el sistema de ventanas de modo que el dibujo puede hacerse directamente a la pantalla.
  • Modo de pantalla - compuesto del tamaño (ancho y alto del monitor, en píxeles), profundidad de bits (número de bits por píxel) y frecuencia de actualización (con qué frecuencia se actualiza el monitor).
  • Representación pasiva frente a activa - la pintura mientras está en el ciclo de evento principal utilizando el método de pintura es pasiva, mientras que la reproducción en su propio subproceso está activa.
  • Doble almacenamiento en búfer y cambio de página - Un dibujo más fluido significa un mejor rendimiento percibido y una experiencia de usuario mucho mejor.
  • BufferStrategy y BufferCapabilities - clases que permiten dibujar a las superficies y componentes sin necesidad de conocer el número de tampones utilizados o la técnica utilizada para mostrarlos, y le ayudará a determinar las capacidades de su dispositivo gráfico.

Hay varios ejemplos de modo exclusivo en pantalla completa en el tutorial vinculado.

+0

Perfecto. Gracias. – Epaga

+0

gracias por la muy buena respuesta explicada ... :) un voto por ello ... – jycr753

2

He hecho esto usando JOGL cuando tengo una interfaz de usuario OpenGL de pantalla completa para un juego. Es bastante fácil. Creo que la capacidad también se agregó a Java con la versión 5, pero hace tanto tiempo que olvidé cómo hacerlo (editar: ver la respuesta anterior para saber cómo).

1

Realmente depende de lo que estés usando para mostrar su interfaz, es decir, AWT/primavera u OpenGL etc.

Java tiene una pantalla exclusiva API de modo completo - see this tutorial from Sun.

2

JFrame setUndecorated(true) método

3

Usar este código:

JFrame frame = new JFrame(); 
// set properties 
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize()); 
frame.setUndecorated(true); 
frame.setVisible(true); 

Asegúrese de que viene antes setUndecorated()setVisible() o no va a funcionar.

Cuestiones relacionadas