Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: -Localhost- en 31 Julio 2010, 06:47 AM

Título: Error al hacer un programa en Full Screen mode
Publicado por: -Localhost- en 31 Julio 2010, 06:47 AM
Hola a todos,

Estoy intentando hacer un programa que se ejecute en Full Screen o que ocupe todo el tamaño de la pantalla (incluyendo la barra de inicio).

Uso este código:
Código (java) [Seleccionar]
import java.awt.*;

public class ventana extends Window {

GraphicsDevice myDevice;

public ventana (){

super(new Frame());
try{myDevice.setFullScreenWindow(this);}catch(Exception e){System.out.println(e);}
setVisible(true);
}

public static void main(String args[]){

new ventana();
}
}

Y me da este error:
Código (java) [Seleccionar]
java.lang.NullPointerException

Alguien sabría decirme ¿por qué?

Muchas gracias de antemano.
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: egyware en 31 Julio 2010, 07:05 AM
Hola

GraphicsDevice myDevice;

En que momento incialisas esa variable, en ninguna parte. Busca la forma de inicializarla.
En este instante no me acuerdo pero algun usuario de foro de puede ayudar.

Saludos
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: Leyer en 31 Julio 2010, 08:12 AM
Cuando hace esto super(new Frame());, no estas cuidando la memoria

Código (java) [Seleccionar]
import java.awt.*;

public class ventana extends Window {
private static final long serialVersionUID = 1L;
   GraphicsDevice myDevice;
public ventana (){

super(new Frame());
try{
GraphicsEnvironment environment=GraphicsEnvironment.getLocalGraphicsEnvironment();
myDevice = environment.getDefaultScreenDevice();
myDevice.setFullScreenWindow(this);

}catch(Exception e){System.err.println(e);}
setVisible(true);
}
public static void main(String args[]){
new ventana();
}
}
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: egyware en 31 Julio 2010, 08:17 AM
@Leyer
Un poco de explicación no estaria mal

Aprovechando que colocaste el codigo:
GraphicsEnvironment environment=GraphicsEnvironment.getLocalGraphicsEnvironment();
Obtenemos el entorno grafico, con el podemos hacer varias cosas aparte de pasar a modo de pantalla completa

myDevice = environment.getDefaultScreenDevice();
Obtenemos la pantalla principal de tu equipo, este objeto myDevice representa al monitor mismo.

myDevice.setFullScreenWindow(this);
Ya lo sabes, pasas a modo pantalla completa

Saludos!
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: Leyer en 31 Julio 2010, 08:20 AM
Ya te habia dicho que soy malo comentando el codigo :xD
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: -Localhost- en 31 Julio 2010, 08:42 AM

Jeje, muchas gracias por el código y la explicación, sólo me quedaron 2 dudas:

La primera es que no entiendo lo que dijo LEYER
Cita de: LEYER en 31 Julio 2010, 08:12 AM
Cuando hace esto super(new Frame());, no estas cuidando la memoria

¿Puedes decirme por qué sucede eso que dices? ^^U no sé a que te estás refiriendo con lo de que no cuido la memoria jeje...

Y la segunda duda que me vino es si esto se ejecuta en un applet.

Un saludo y gracias por contestar.
Título: Re: Error al hacer un programa en Full Screen mode
Publicado por: Leyer en 31 Julio 2010, 20:29 PM
No veo por que no.

Sobre lo que te dije anteriormente,cuando haces esto super(new Frame());, estas creando una nueva instancia de Frame, el cual es un desperdicio ya que solo lo usas solo para centrar, para eso puedes hacer, setLocationRelativeTo(null);

UN saludo.