我有一个透明的未装饰JFrame
,我使用AWTUtilities.setWindowOpaque(this, false)
. 在 上JFrame
,我有一个滚动窗格;它在 Windows 上完美运行。在 Mac 上,整体JFrame
是可拖动的;因此,当我尝试通过在滚动条上单击并按住鼠标来滚动滚动窗格时,整个框架都会移动而不是滚动条拇指。我也尝试使用setBackground(new Color(0,0,0,0))
而不是setWindowOpaque()
,但它有同样的问题。有想法该怎么解决这个吗?
问问题
464 次
1 回答
1
正如在这个类似的线程中所建议的,尝试:
getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);
如果您选择使用它,滚动条将可用并且窗口不会拖动。但是,您可能会遇到无法移动的窗口,除非您MouseMotionListener
在方法中添加 a 并mouseDragged()
使用类似frame.setLocation()
.
相反,您可能可以强制用户单击滚动条的箭头按钮,而不是拖动滚动条本身……但这不是我见过的最用户友好的想法。
于 2012-07-23T07:27:29.147 回答