java – 如何将函数拖放到没有titleBar的JFame?

我在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);

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

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

解决方法:

is it the only solution?

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

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

上一篇:java – 拖动时JPanel子类“跳转”


下一篇:javascript – 防止图像拖动选择