如何将函数拖动到没有titleBar的JFame?

Lok*_*mar 4 java swing jframe drag

我在titleBar中创建了一个带有四个按钮的JFrame.

JFrame frame=new JFrame("custom JFrame with 4 buttons in title");
frame.setUndecorated(true);

JPanel button_panel=new JPanel(new FlowLayout(FlowLayout.LEFT));
JButton button_1=new JButton("+");
JButton button_2=new JButton("?");
JButton button_3=new JButton("-");
JButton button_4=new JButton("system tray");

button_panel.add(button_1);
button_panel.add(button_2);
button_panel.add(button_3);
button_panel.add(button_4);

frame.getContentPane().add(button_panel,BorderLayout.NORTH);
Run Code Online (Sandbox Code Playgroud)

现在,我的标题栏中有一个带有四个按钮的JFrame.

但是,如何为这个自定义JFrame提供拖动功能?

cam*_*ckr 5

它是唯一的解决方案吗?

好吧,我所知道的唯一解决方案是使用MouseListeners.

对于更通用的解决方案,您可以查看移动窗口,它允许您拖动任何Swing组件.