仅从布局中删除面板
Remove Panel from layout only
我有一个布局为空的框架。它附有一个面板,该面板具有流式布局。
我的代码有它,因此按下按钮会创建一个新面板,该面板被添加到第一个面板(附加到框架的面板)。然后我有一个鼠标侦听器,可让您拖动新创建的面板。
panel.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent me) {
x = me.getX();
y = me.getY();
}
});
panel.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent me) {
me.translatePoint(me.getComponent().getLocation().x-x, me.getComponent().getLocation().y-y);
panel.setLocation(me.getX(), me.getY());
}
});
但是,当我按下按钮创建一个新面板时,它会创建一个新面板,同时将其返回到流布局。我试过移除面板,但是当我将新面板拖到它上面时,它被删除了。而如果我在移除面板后重新验证并重新绘制面板,它就会消失。
那么如何防止它被擦除或仅将其从布局中删除?
尝试将布局更改为 null,我认为您的要求不可能。
我有一个布局为空的框架。它附有一个面板,该面板具有流式布局。
我的代码有它,因此按下按钮会创建一个新面板,该面板被添加到第一个面板(附加到框架的面板)。然后我有一个鼠标侦听器,可让您拖动新创建的面板。
panel.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent me) {
x = me.getX();
y = me.getY();
}
});
panel.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent me) {
me.translatePoint(me.getComponent().getLocation().x-x, me.getComponent().getLocation().y-y);
panel.setLocation(me.getX(), me.getY());
}
});
但是,当我按下按钮创建一个新面板时,它会创建一个新面板,同时将其返回到流布局。我试过移除面板,但是当我将新面板拖到它上面时,它被删除了。而如果我在移除面板后重新验证并重新绘制面板,它就会消失。
那么如何防止它被擦除或仅将其从布局中删除?
尝试将布局更改为 null,我认为您的要求不可能。