Nella mia applicazione Swing, voglio la possibilità di passare da decorata a non decorata senza ricreare l'intero fotogramma. Tuttavia, l'API non mi consente di chiamare setUndecorated()
dopo aver reso visibile la cornice.Come chiamare setUndecorated() dopo che una cornice è stata resa visibile?
Anche se chiamo setVisible(false)
, isDisplayable()
restituisce ancora true. L'API dice che l'unico modo per rendere non-visualizzabile una cornice è di ricrearlo. Tuttavia, non voglio ricreare la cornice solo per disattivare alcune barre del titolo.
Sto facendo un'applicazione a schermo intero che può essere commutata tra modalità schermo intero e finestre; Dovrebbe essere in grado di cambiare mantenendo lo stato, ecc.
Come faccio a fare questo dopo che una cornice è visibile ?.
chiamando 'dispose()' rilascia le risorse della finestra nativa. quindi puoi modificare proprietà come non decorate e così via. con 'pack()' si ricreano le risorse della finestra. quindi chiama semplicemente 'setVisible (true)' e tutto funziona correttamente (la posizione e tutti i componenti non saranno modificati) – Thomas
Come descritto da Thomas, questo è possibile, vedi anche http://stackoverflow.com/questions/27715638/is- there-a-way-to-remove-frame-decoration-senza-re-opening-it –