gpt4 book ai didi

java - 如何在mouseDragged事件下的DRAG_LAYER上添加JLabel

转载 作者:行者123 更新时间:2023-11-30 05:15:42 25 4
gpt4 key购买 nike

我目前正在开发一个拖放应用程序,我真的很想知道 JLayeredPane 内部发生了什么,并且我得到了特定的程序行为...

这是交易:

我在 DEFAULT_LAYER 上放置了一个棋盘。
我还有一个国际象棋棋子,我希望在移动它时将其添加到 DRAG_LAYER 中。

但是我有一个癖好......

我想使用这条线

layeredPane.add(chessPiece, JLayeredPane.DRAG_LAYER);

仅在 mouseDragged 事件下。

所以,当我这样做时,我的棋子会在移动鼠标时消失并隐藏在棋盘后面(?!?)

当我将上面的行更改为:

layeredPane.add(chessPiece, JLayeredPane.DRAG_LAYER,0);

一切又恢复正常了。

为什么会发生这种情况?

最佳答案

我使用layeredPane.moveToFront(component)而不是依赖index参数。

请注意,add(Component comp, Object Constraints, int index) 是由 java.awt.Container 实现的,而不是 javax.swing.JLayeredPane.

关于java - 如何在mouseDragged事件下的DRAG_LAYER上添加JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1474168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com