gpt4 book ai didi

Java Swing - 为什么这不再是可拖动的?

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

昨天我试图制作一个可拖动的、未装饰的 JPanel,它工作得很好,然后今天我加载了项目,但它不再工作(我不知道为什么会发生这种情况,因为我确实正确保存了所有内容)。

任何帮助将不胜感激:)

这是源代码:

import javax.swing.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class CustomBubble extends JFrame {

public int xMouse;
public int yMouse;

JPanel pnl = new JPanel();

public CustomBubble()
{
super("CustomBubble");
setSize(150,100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setUndecorated(true);
setLocationByPlatform(true);
setAlwaysOnTop(true);
setVisible(true);

pnl.addMouseMotionListener(
new MouseAdapter()
{
public void mouseDragged(MouseEvent e) {
int x = e.getXOnScreen();
int y = e.getYOnScreen();

setLocation(x - xMouse, y - yMouse);
}

});
pnl.addMouseListener(
new MouseAdapter() {
public void mousePressed(MouseEvent me) {
xMouse = me.getX();
yMouse = me.getY();
}
});

add(pnl);
}

public static void main(String[] args)
{
CustomBubble gui = new CustomBubble();
}
}

最佳答案

我在我的电脑上测试了这个并且让它工作了。通常 setVisible(true); 语句应该是您做的最后一件事。因此,只需在 add(pnl); 调用之后将该语句向下移动,就可以了。

...
add(pal);
setVisible(true);
} // end of constructor

关于Java Swing - 为什么这不再是可拖动的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25098247/

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