W mojej aplikacji Swing, chcę możliwość przełączania między dekorowane i bez dekoracji bez odtwarzania całej klatki. Jednak interfejs API nie pozwala mi wywoływać setUndecorated()
po pokazaniu ramki.Jak wywołać metodę setUndecorated() po udostępnieniu ramki?
Nawet jeśli zgłoszę setVisible(false)
, isDisplayable()
nadal zwraca true. API mówi, że jedynym sposobem, aby uczynić ramkę niemożliwą do wyświetlenia, jest jej ponowne utworzenie. Jednak nie chcę odtwarzać ramki tylko po to, aby wyłączyć niektóre paski tytułu.
Tworzę aplikację, która może być wyświetlana w pełnym ekranie i może być przełączana między trybami pełnoekranowymi i okienkowymi; Powinien on być w stanie przełączać przy zachowaniu stanu itd
Jak mogę to zrobić po ramce widoczna jest ?.
Wywołanie "dispose()" zwalnia zasoby rodzimego okna. wtedy możesz edytować właściwości, takie jak bez ozdób i tak dalej. z 'pack()' odtwarzasz zasoby okna. to po prostu wywołaj 'setVisible (true)' i wszystko działa dobrze (pozycja i wszystkie kompozytorki nie zostaną zmienione) – Thomas
Jak opisał Thomas, jest to możliwe, zobacz także http://stackoverflow.com/questions/27715638/is- tam-do-do-usunięcia-dekoracji-ramki-bez-ponownego-otwarcia-to –