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

时间:2015-03-16 03:19:04

标签: java swing jframe jpanel move

到目前为止,我一直在制作一个未修饰的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)提供的代码。

还是有其他解决方案吗?

2 个答案:

答案 0 :(得分:3)

提供的解决方案可以轻松集成到您的示例中。

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

然后改变

JPanel panel = new JPanel();

JPanel panel = new MotionPanel(frame);

小组现在应该可以移动了。

答案 1 :(得分:2)

查看Moving Windows以查找为您执行此操作的课程。

该类旨在允许您移动桌面上的窗口或面板上的组件。