elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Como usar setLocationRelativeTo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como usar setLocationRelativeTo  (Leído 14,239 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Como usar setLocationRelativeTo
« en: 4 Abril 2016, 09:10 am »

Para que sirve el metoo setLocationRelativeTo?
Por mas que busco en internet solo encuentro ejemplos en los que se le pasa por parametro 'null', que lo que hace es centrar la ventana:
Código:
setLocationRelativeTo(null);
Pero no encuentro ningun ejemplo que utilize un valor distinto de null. Se supone que lo que hace es colocar la ventana relativo al objeto que se le pasa, pero lo he probado y nada, que sigo sin ver como funciona.
¿Alguien puede ayudarme?
Gracias de antemano.


« Última modificación: 4 Abril 2016, 10:22 am por 4dr14n31t0r » En línea

4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Graficos: setLocationRelativeTo
« Respuesta #1 en: 4 Abril 2016, 10:19 am »

Ok acabo de descubrirlo yo solo:

Lo que hace es centrar la ventana, haciendo que el centro de la misma coincida con el centro del componente (hasta ahi todo bien). El problema es que cuando la ventana cambia de posicion respecto de la pantalla, tambien lo hacen todos sus componentes respecto de la ventana, ya que los componentes tienen una posicion fija respecto de la ventana. Entonces lo que sucede es lo siguiente:

1- El componente debe estar añadido a la ventana y debe de poder mostrarse. Es decir, la ventana debe estar visible.(De lo contrario simplemente centrará la ventana en la pantalla).

2- Mueve la ventana a una posicion de tal forma que su centro coincida con el del componente

3- Mueve los componentes respecto de la pantalla para que conserven su posicion respecto de la ventana

Si quieres ver bien como funciona haz lo siguiente: Ejecuta sin utilizar el setLocationRelativeTo, y sin terminar la ejecucion cambia el codigo y añade el setLocationRelativeTo para tener en ejecucion uno con y otro sin el metodo, y despues cambia rapidamente de una ventana a otra SIN CAMBIAR LA VENTANA DE SITIO dejando la ventana tal y como se ha creado. Cuando lo cambies rapidamente de una ventana a otra podrás ver mejor que el componente de una ventana coincide con el centro de otra

Ejemplo:
Código:
package ejemplos;

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class EjemploSetLocationRelativeTo {

public static void main(String[] args) {
JFrame ventana = new JFrame();
ventana.setLayout(null);//Para usar coordenadas absolutas
/*
* IMPORTANTE
* antes de usar el metodo setLocationRelativeTo
* los componentes deben estar visibles
* asi que la ventana debe de estarlo tambien
* de lo contrario la ventana se centrará
* respecto la pantalla
*/
ventana.setVisible(true);
JPanel p = new JPanel();
p.setBackground(Color.GRAY);//Para distinguirlo. Si no no se vería =D
p.setBounds(200,200,50,50);
ventana.add(p);
ventana.setSize(300, 300);
/*
* Para ver mejor como funciona el metodo haz lo siguiente:
* 1- Ejecuta el codigo (IMPORTANTE no muevas la ventana ni le cambies el tamaño)
* 2- Descomenta la linea 36 (La que contiene el metodo)
* 3- Vuelve a ejecutar
* 4- Cambia rapidamente de una ventana a otra
* Como puedes ver el centro de una ventana coincide
* con el cuadrado gris de la otra
*/
// ventana.setLocationRelativeTo(p);
}

}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Quien me explica como usar o como funcionan los SocketS? (java)
Java
McKain 5 8,836 Último mensaje 16 Noviembre 2005, 18:52 pm
por McKain
saben como usar usar el windows live messenger 2009 en win 8
Mensajería
dannyphantom 1 2,963 Último mensaje 25 Diciembre 2012, 22:07 pm
por Songoku
Cómo usar tu móvil como router WiFi para compartir datos con otros dispositivos
Noticias
wolfbcn 1 2,789 Último mensaje 30 Enero 2016, 15:56 pm
por crazykenny
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines