Foro de elhacker.net

Programación => 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
  1. import java.awt.*;
  2.  
  3. public class ventana extends Window {
  4.  
  5. GraphicsDevice myDevice;
  6.  
  7. public ventana (){
  8.  
  9. super(new Frame());
  10. try{myDevice.setFullScreenWindow(this);}catch(Exception e){System.out.println(e);}
  11. setVisible(true);
  12. }
  13.  
  14. public static void main(String args[]){
  15.  
  16. new ventana();
  17. }
  18. }
Y me da este error:
Código

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
  1. import java.awt.*;
  2.  
  3. public class ventana extends Window {
  4. private static final long serialVersionUID = 1L;
  5.    GraphicsDevice myDevice;
  6. public ventana (){
  7.  
  8. super(new Frame());
  9. try{
  10. GraphicsEnvironment environment=GraphicsEnvironment.getLocalGraphicsEnvironment();
  11. myDevice = environment.getDefaultScreenDevice();
  12. myDevice.setFullScreenWindow(this);
  13.  
  14. }catch(Exception e){System.err.println(e);}
  15. setVisible(true);
  16. }
  17. public static void main(String args[]){
  18. new ventana();
  19. }
  20. }


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
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.