如何通过在 Java 中按住 JPanel 来移动未修饰的 JFrame?

How to move undecorated JFrame by holding click on a JPanel in Java?

到目前为止,我一直在制作未修饰的 JFrame,我想知道是否可以通过按住 JPanel 单击来移动未修饰的 JFrame。

这是我正在处理的源代码。

private static void createFrame()
{
    JFrame frame = new JFrame("Text Frame");
    frame.setLayout(null);
    frame.setSize(500,300);
    frame.setUndecorated(true);

    JPanel panel = new JPanel();
    panel.setBounds(0, 2, 500, 50);
    panel.setBackground(new Color(60, 65, 70));
    frame.add(panel);

    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

我想做的是: 在 JPanel 区域单击并按住我的光标,以便能够移动 JFrame。

我做了一些研究,遇到了一个类似的问题:Moving undecorated window by clicking on JPanel

我不明白如何将(用户 Sorter 提供的)代码集成到我的代码中。

或者有其他解决方案吗?

所提供的解决方案可以很容易地集成到您的示例中。

只需将 Sorter 的示例添加为单独的 class。

然后改变

JPanel panel = new JPanel();

JPanel panel = new MotionPanel(frame);

面板现在应该可以移动了。

查看 Moving Windows 是否有 class 可以为您做到这一点。

class 旨在允许您移动桌面上的 window 或面板上的组件。