Я пытаюсь создать простую анимацию, в которой пловцу следует путь под водой. У меня есть два JPanels - один для пловца и один для фона. Оба они активны, пловцы перемещают свои конечности, а на фоне есть рыба/препятствия, которые необходимо обновить.Укладка двух активных JPanels друг на друга
Я пытаюсь положить пловец сверху фона. Я пытаюсь использовать JLayeredPane, поэтому я создаю два слоя и добавить их:
JLayeredPane lp = frame.getLayeredPane();
lp.setPreferredSize(new Dimension(650, 550));
underwaterScene.setSize(lp.getPreferredSize());
underwaterScene.setLocation(0,0);
swimmer.setSize(lp.getPreferredSize());
swimmer.setLocation(0,0);
swimmer.setOpaque(false);
lp.add(underwaterScene, Integer.valueOf(1));
lp.add(swimmer, Integer.valueOf(2));
метод paintComponent пловец просто рисует пловец в правильном месте:
g.drawImage(swimmer.sprite, swimmer.x, swimmer.y, 150, 100, null);
В настоящее время, только я см. слой пловец. Если я удалю lp.add (пловчик ... звонок, то я могу увидеть фоновый слой, поэтому я знаю, что он добавляется.
Мой вопрос: почему не пловец появляется на фоне без ?!. полностью блокирует его
заранее спасибо за любую помощь
Наверное, это не лучший выбор для настройки, вместо этого я бы подумал об использовании пользовательского подхода к рисованию вместо – MadProgrammer