Tôi đang kết hợp một ứng dụng Swing nơi tôi thường muốn thay thế nội dung của JPanel. Để làm điều này, tôi đang gọi removeAll()
, sau đó thêm nội dung mới của tôi, sau đó gọi revalidate()
.
Tuy nhiên tôi thấy rằng nội dung cũ vẫn thực sự hiển thị (mặc dù bị che khuất bởi nội dung mới). Nếu tôi thêm một cuộc gọi repaint()
ngoài revalidate()
, nó hoạt động như mong đợi.
Tôi chắc chắn vào những dịp khác tôi đã trải nghiệm rằng chỉ cần gọi revalidate()
là đủ.
Vì vậy, về cơ bản câu hỏi của tôi là - tôi có nên gọi cả hai chức năng không và nếu không, khi nào tôi nên gọi từng chức năng?