如何在Swing Java中为图像设置Z顺序

时间:2011-02-08 04:21:18

标签: java swing

如果我拖动任何应该出现在所有其他图像上方的图像,我想要3个图像。哪种技术可以使用?请任何想法????顺便说一句,我正在使用“ImageIcon”。

提前致谢。

2 个答案:

答案 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);