Trong ứng dụng Swing của tôi, tôi muốn có khả năng chuyển đổi giữa trang trí và undecorated mà không cần tái tạo toàn bộ khung. Tuy nhiên, API không cho phép tôi gọi setUndecorated()
sau khi khung được hiển thị.Làm thế nào để gọi setUndecorated() sau khi khung được hiển thị?
Thậm chí nếu tôi gọi setVisible(false)
, isDisplayable()
vẫn trả về giá trị đúng. API cho biết cách duy nhất để tạo khung không thể hiển thị là tạo lại khung. Tuy nhiên, tôi không muốn tạo lại khung hình chỉ để tắt một số thanh tiêu đề.
Tôi đang tạo một ứng dụng toàn màn hình có thể được chuyển giữa chế độ toàn màn hình và cửa sổ; Bạn có thể chuyển đổi trong khi duy trì trạng thái, v.v.
Làm cách nào để thực hiện việc này sau khi hiển thị khung ?.
gọi 'dispose()' giải phóng tài nguyên cửa sổ gốc. sau đó bạn có thể chỉnh sửa các thuộc tính như undecorated và như vậy. với 'pack()' bạn tạo lại tài nguyên cửa sổ. sau đó chỉ cần gọi 'setVisible (true)' và mọi thứ hoạt động tốt (vị trí và tất cả các compoenents sẽ không được thay đổi) – Thomas
Như Thomas đã mô tả, điều này là có thể, xem thêm http://stackoverflow.com/questions/27715638/is- có-a-way-to-remove-frame-decoration-without-re-opening-it –