У меня есть JLayeredPane. Моя программа работает примерно так:JLayeredPane не соответствует слоям
JPanel p1 = new JPanel(new BoxLayout(p1, BoxLayout.X_AXIS));
JPanel p2 = new JPanel(new BoxLayout(p2, BoxLayout.Y_AXIS));
JLayeredPane lp = new JLayeredPane();
lp.add(p1, 1);
lp.add(p2, 0);
Оба p1 и p2 имеют компоненты, такие как кнопки, и т.д ...
Вопрос заключается в том, что, когда я добавляю как JPanels к JLayeredPane, ничего не появляется.
Я попытался изменить расположение JLayeredPane().
Например, я сделал:
lp.setLayout(new BoxLayout(lp, BoxLayout.X_AXIS));
Затем JPanels действительно показывают, но они показаны смежный, не уважая слои JLayeredPane.
Я вынужден использовать нулевой макет?
Как я могу заставить JLayeredPane уважать слои и показывать мои два BoxLayout JPanels правильно?
Когда я даю свой JLayeredPane макет, он показывает панели, но он не уважает слои вообще.
** НИКОГДА ** не используйте макет «нуль». – syb0rg
Это проблема: http://docs.oracle.com/javase/tutorial/uiswing/components/problems.html#layeredpane - Второй аргумент 'add()' должен быть 'Integer', а не 'int ', поскольку версия' int' метода отличается. –
Когда я не устанавливаю макет, ничего не появляется. Когда я добавляю какой-либо макет, он просто ведет себя так, как будто он не является слоистой, и добавляет компоненты, смежные друг с другом визуально, а не один поверх другого. – ThePrince