如何通过在 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 或面板上的组件。
到目前为止,我一直在制作未修饰的 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 或面板上的组件。