En mi aplicación Swing, quiero la capacidad de cambiar entre decorado y sin decoración sin volver a crear todo el encuadre. Sin embargo, la API no me permite llamar al setUndecorated()
después de que el marco se hace visible.Cómo llamar a setUndecorated() después de que un marco se hace visible?
Incluso si llamo a setVisible(false)
, isDisplayable()
sigue siendo verdadero. La API dice que la única manera de hacer que un marco no se pueda visualizar es volver a crearlo. Sin embargo, no quiero recrear el marco solo para desactivar algunas barras de título.
Estoy haciendo una aplicación de pantalla completa que se puede cambiar entre modos de pantalla completa y ventana; Debería poder cambiar mientras se mantiene el estado, etc.
¿Cómo hago esto después de que un marco es visible ?.
llamando a 'dispose() 'libera los recursos de la ventana nativa. luego puede editar propiedades como sin decoración, etc. con 'pack()' se recrean los recursos de la ventana. entonces simplemente llame a 'setVisible (true)' y todo funciona bien (la posición y todos los componentes no serán cambiados) – Thomas
Como Thomas describió, esto es posible, vea también http://stackoverflow.com/questions/27715638/is- there-a-way-to-remove-frame-decoration-without-re-opening-it –