我目前正在开发一个拖放应用程序,我真的很想知道 JLayeredPane 内部发生了什么,并且我得到了一个特定的程序行为......
这是交易:
我在 DEFAULT_LAYER 上放置了一个棋盘。
我还有一个棋子,我想在移动它时将其添加到 DRAG_LAYER 中。
但是我有恋物癖...
我想用这条线
layeredPane.add(chessPiece, JLayeredPane.DRAG_LAYER);
仅在 mouseDragged 事件下。
因此,当我这样做时,我的 chessPiece 在移动鼠标时消失并隐藏在棋盘后面(?!?)
当我将上面的行更改为:
layeredPane.add(chessPiece, JLayeredPane.DRAG_LAYER,0);
一切又变得正常了。
为什么会这样?