java - Posición y paquete de JFrame() en Awesome WM
swing position (1)
¡Encontré la solución! El problema es que Java tiene algunos problemas con algunos administradores de ventanas. La solución es simple: solo instale la utilidad wmname ( http://tools.suckless.org/wmname ) y ejecute '' wmname LG3D
''. Cambia el nombre del administrador de ventanas actual a LG3D y java lo considera como WM compatible.
Lo sé antes de mi problema. Así que estoy tratando de establecer el nombre LG3D globalmente en el archivo .xinitrc, pero parece que no funciona. Tengo que llamar a '' wmname LG3D
'' explícitamente en cada terminal que ejecutará algunas aplicaciones java.
Cada vez que llamo al método pack () en JFrame, se mueve a la posición inicial donde estaba cuando se inició. Cuando trato de obtener la ubicación de JFrame (getLocation, getLocationOnScreen) sigue siendo la misma que la posición inicial, no importa si estoy moviendo la ventana. Estoy ejecutando Archlinux con Awesome WM. Por favor ayuda.
Gracias Uiii
EDITAR: Lo que quiero es poder mostrar u ocultar algunos componentes en la ventana principal (que causan el cambio de tamaño del diseño) sin mover las ventanas a la posición inicial.
EDIT2: Así que acabo de encontrar que Paŭlo (del comentario) tiene razón. Funciona bien en Xfce, pero en Awesome WM no.
EDIT3: Realmente no entiendo por qué votas la pregunta. Es la primera vez que uso la función pack (), así que no sé cuál es su comportamiento correcto. No hay explicación en el documento API de Java si la posición de la ventana cambiará. Solo uso esto el primero en Awesome WM que estoy usando como administrador de mi ventana, así que no sé si debería comportarse de otra manera. Intenté encontrar algo al respecto en Internet pero no encontré nada. Creo que esta pregunta puede ser útil para alguien después de haber encontrado la solución. Ciertamente hay otros desarrolladores de Java que están utilizando Awesome WM (o algo similar con el mismo problema).