禁用全窗口拖动

esa*_*its 0 java macos transparency drag

当我使用AWTUtilities.setWindowOpaque(this, false);JFrames的背景透明时,您可以通过将其拖动到窗口中的任何位置来更改我的JFrame的位置.我的问题是,我有想要用于拖放这个Frame的对象,但是当我试图拖动一个对象时JFrame移动它不可能在其他任何地方丢弃它.有什么方法可以解决这个问题吗?

顺便说一句,我使用Mac OS 10.6.6在Mac上

谢谢你的帮助!

Ren*_*uro 6

抱歉我的英语不好.试试这个:

setUndecorated(true); 
AWTUtilities.setWindowOpaque(this, false); 
getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE); 
Run Code Online (Sandbox Code Playgroud)

默认情况下,setWindowOpaque函数将此client属性设置为true.但是这个客户端属性使窗口中的每个组件都可以拖动.

现在你必须自己制作拖拽代码.