В моем проекте у меня есть JPanel (bottomPanel) в JFrame, который нужно поменять местами, поэтому я использую CardLayout на bottomPanel.
В моем родительском JFrame я, по сути, получил этот код в методе (setBottomPanel):
bottom.add(p.toString(),p);
bottomLayout.show(bottom, p.toString());
И я вызываю его один раз в родительском конструкторе JFrame, и он отлично работает. Тем не менее, я передаю ссылку на этот родительский JFrame другим JPanels, и если я вызываю setBottomPanel () для ссылки, она не действует, панель не изменяется.
У меня было это с использованием bottomLayout.next(bottom)
, и это изменило панель, но на пустую.
Обновление:
Кажется, он загружается правильно, я изменил код обратно на вызов next()
, но передаваемая JPanel пуста. Может ли это быть потому, что я использую GridLayout на JPanel, который добавляется на bottomPanel? Я вообще не передаю ссылку на макет ...