我使用JFrame
设置了透明的未修饰AWTUtilities.setWindowOpaque(this, false)
。在JFrame
,我有一个滚动窗格;它在Windows上完美运行。在Mac上,整个JFrame
是可拖动的;所以当我尝试通过在滚动条上单击并按住鼠标滚动滚动窗格时,整个框架移动而不是滚动条拇指。我还尝试使用setBackground(new Color(0,0,0,0))
代替setWindowOpaque()
,但它也有同样的问题。关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
正如this similar thread中所述,请尝试:
getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);
如果您选择使用此选项,滚动条将可用,窗口将不会拖动。但是,您可能会遇到不可移动的窗口,除非您添加MouseMotionListener
并使用mouseDragged()
之类的调用在frame.setLocation()
方法中移动窗口。
相反,您可以强制用户单击滚动条的箭头按钮,而不是拖动滚动条本身...但这不是我见过的最友好的用户理念。