如果我拖动任何应该出现在所有其他图像上方的图像,我想要3个图像。哪种技术可以使用?请任何想法????顺便说一句,我正在使用“ImageIcon”。
提前致谢。
答案 0 :(得分:3)
如果您想要做的是单击图像,将其抬高到其他图像上方然后拖动它,考虑将它们放在ImageIcons中,并将它们放在JLabel中,并将它们显示在JLayeredPane或者保存在JLayeredPane中的JPanel中。 JLayeredPane的。然后,您可以在拖动时将单击的标签提升到JLayeredPane.DRAG_LAYER,然后在完成后将其放入DEFAULT_LAYER(或在DEFAULT_LAYER上的JPanel上)。有关此示例,请在相关问题中查看我的代码:dragging a jlabel around the screen
如果我完全偏离基础,抱歉,请纠正我错误的假设。
答案 1 :(得分:1)
顺便说一句,我正在使用“ImageIcon”。
我认为这意味着您要将图像添加到JLabel,然后将JLabel添加到JPanel。
所以我想,如果我拖动任何应该出现在所有其他图像上方的图像
您需要将一个MouseListener添加到JLabel。当您单击标签时,您可以将其Z-Order重置为0.这将导致标签最后涂漆,因此它将位于面板上所有其他标签的顶部。
因此MouseListener中的基本代码是:
panel.setComponentZOrder(label, 0);