Я пытаюсь сделать подобное слайд-шоу приложение на Java, используя NetBeans.Удаление JPanel внутри JPanel ... внутри JPanel
У меня есть JFrame (главное окно) и внутри него две кнопки (назад и далее) для навигации и JPanel (mainPanel
), который выступает в качестве держателя «слайдов» приложения. Я также использую пользовательские объекты JPanel (SlidePanel
), которые затем помещаются внутри mainPanel
. Некоторые из этих SlidePanel
объектов имеют JPanels внутри них.
Теперь, я был в состоянии поместить эти SlidePanel
объекты внутри mainPanel
, а также перемещаться по ним (например, если я нажму на следующую кнопку, SlidePanel 1
будет заменен SlidePanel 2
, или если я нажимаю кнопку назад, SlidePanel 2
будет заменен на SlidePanel 1
.) Я сделал это, используя методы removeAll()
, revalidate()
и repaint()
.
Проблема начинается здесь. Третий объект SlidePanel
содержит JPanel внутри него. Что происходит, когда вы добираетесь до третьего SlidePanel
, он отлично работает. Но оттуда, если вы нажмете кнопку «Назад» (которая вернет вас к SlidePanel 2
), JPanel от SlidePanel 3
останется на экране, а компоненты внутри SlidePanel 2
настроены так, чтобы соответствовать mainPanel
.
Что мне делать, чтобы исправить это?
EDIT: Благодарим всех, кто ответил. Я попробовал CardLayout на фиктивный проект, и он работал нормально. Теперь все, что мне нужно сделать, это добавить его в оригинальный. Еще раз спасибо. :)
Спасибо за быстрый ответ. Я посмотрю и изучу его. – alxcyl
Большое спасибо. Я попробовал, и это сработало. :) – alxcyl
рад помочь вам – mKorbel