У меня есть родительский JPanel, который использует менеджер макетов OverlayLayout, а JPanel содержит основную панель и панель над слоем.
например
setLayout(new OverlayLayout(this));
add(overlayPanel)
add(mainPanel);
это работает нормально, но главная панель содержит множество компонентов, находящихся вне моего контроля, и многие из них переопределили paintComponent, и когда они перекрашиваются, они в конечном итоге рисуются поверх панели наложения.
Если я затем изменю размер всего окна, 2 панели отображаются правильно сложенными. Есть ли способ, которым я могу предотвратить это или получить уведомление о том, что дочерний компонент перерисован, чтобы я мог перерисовать все окно?
Я пытался использовать JLayeredPane, но я изо всех сил пытался изменить размер главного окна и поскольку он не использует LayoutManager, мне пришлось установить границы, и я изо всех сил пытался заставить это работать.