У меня есть JPanel с двумя изображениями как JLabels
Похоже, у вас есть панель, которая содержит 2 панели. Каждая из этих панелей содержит ярлык. Почему вы добавляете каждый ярлык на вторую панель?
Избавьтесь от «обёрточных» панелей и просто добавьте метки прямо на главную панель.
Я пытаюсь перетащить изображение с правой стороны и поместить его поверх изображения с левой стороны, и оно должно оставаться там после отпускания мыши
Swing красит компоненты на основе Z Order
. При добавлении компонента на панель ZOrder увеличивается, и компонент с самым высоким значением ZOrder окрашивается первым, поэтому в основном последний компонент, добавленный на панель, окрашивается первым.
Так что в вашем случае правая метка закрашена перед левой меткой.
Если вы хотите перетащить правую метку, чтобы она рисовалась ПОСЛЕ левой метки, то в коде мыши, нажатой на кнопку, вы можете изменить ZOrder компонента, используя
JPanel parent = e.getComponent().getParent;
parent.setComponentZOrder(e.getComponent(), 0);
Теперь компонент будет закрашен последним при его перетаскивании на панель.