Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ZedGe en 12 Junio 2011, 06:46 am



Título: Duda sobre codigo para centrar ventanas
Publicado por: ZedGe en 12 Junio 2011, 06:46 am
Existe un código para que yo al ejecutar el programa la ventana aparezca automáticamente en el centro de la pantalla sin importar su resolución???

si es así me podrías explicar también como funciona básicamente??


EDITO: Es si existe este metodo pero sin usar SWING, es decir solo con AWT


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: 1mpuls0 en 12 Junio 2011, 06:51 am
Hola.

Está el método setLocationRelativeTo();

Funciona así.

Código
  1. jFrame jf = new jFrame();
  2. jf.setVisible(true);
  3. jf.setLocationRelativeTo(null);
  4.  

Bueno depende de como hagas la llamada a tu jframe.
El mismo nombre del método te dice lo que hace (coloca el jframe en relacion a la posicion de un componente).

También puedes crear tu propio método para centrar.

Saludos.


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: ZedGe en 12 Junio 2011, 07:02 am
se me olvido poner que si había un método pero sin usar SWING :/


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: 1mpuls0 en 12 Junio 2011, 07:19 am
Veo que ni lo intentaste para ver si se puede o no.

Código
  1. import java.awt.*;
  2. public class MiFrame {
  3. public static void main(String[] args) {
  4.   Frame miFrame = new Frame("Mi primer frame");
  5.   miFrame.setSize(300, 300);
  6.   miFrame.setLocationRelativeTo(null); /*=)*/
  7.   miFrame.setVisible(true);
  8. }
  9. }
  10.  

Saludos.



Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: ZedGe en 12 Junio 2011, 19:51 pm
muchas gracias es que no usaba

Frame miFrame = new Frame("Mi primer frame");

si no que usaba ..... extends Frame..... al declarar mi método era ahí mi duda
Gracias


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: 1mpuls0 en 12 Junio 2011, 19:58 pm
o.O!

Ok

Entonces si utilizabas herencia simple debe ser así.
Por eso dije anteriormente "depende de como hagas la llamada a tu jframe."

Código
  1. setLocationRelativeTo(null);

Saludos!


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: Sklm01 en 14 Junio 2011, 07:06 am
También tienes la opción de:
-Ir al Diseño de tu ventana.
-Click derecho a la ventana.
-Propiedades.
-(Pestaña) Code.
-(Form Size Policy) selecciona Generate Resize Code.

y lo hace automáticamente.


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: 1mpuls0 en 14 Junio 2011, 09:05 am
También tienes la opción de:
-Ir al Diseño de tu ventana.
-Click derecho a la ventana.
-Propiedades.
-(Pestaña) Code.
-(Form Size Policy) selecciona Generate Resize Code.

y lo hace automáticamente.

No veo esa opción en mi bloc de notas, creo que debo actualizarlo  :xD

En las empresas donde he trabajado está muy limitado el uso de un ide no porque no dejen instalarlo, sino por la capacidad de las pc, así que debo utilizar herramientas que utilicen los recursos mínimos.

Claro de eso se encargan los IDE de hacer casi todo automáticamente xD

Saludos.


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: sapito169 en 15 Junio 2011, 04:08 am
que bueno eso va a repercutir pocitimamente a la calidad del codigo y al entendimiento de los propios programadores


Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: Sycropt en 27 Junio 2011, 16:22 pm
asi es solo abres tu interfaz y en el INSPECTOR seleccionas tu Jframe click derecho Propiedades te able una ventana y luego click en CODE, en form size policy
seleccionas Generate Resize Code y con eso qeda centrado al ejecutarse


(http://img707.imageshack.us/img707/8391/sinttuloyiw.jpg) (http://imageshack.us/photo/my-images/707/sinttuloyiw.jpg/)



Título: Re: Duda sobre codigo para centrar ventanas
Publicado por: Valkyr en 28 Junio 2011, 17:00 pm
Por si te sirve:

Yo estuve buscando por internet y encontré esto:

Código
  1. pack();
  2. java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
  3. setSize(new java.awt.Dimension(X, Y));
  4. setLocation((screenSize.width - X) / 2, (screenSize.height - Y) / 2);
  5.  

y a mi, haciendo un JDialog me ha funcionado perfectamente. He colocado X e Y por dejarlo de una forma un poco más general y que se vea mejor a simple vista que es lo que hace.

Espero que te sea de ayuda.

Saludos.