1
我有LayeredPane
與兩個JPanel
s,全部在JFrame
。 JPanel
s設置爲透明,setOpaque(false)
。但是,我想捕捉鼠標事件(如果它有所不同)(透明的面板)。這是可能的,還是應該從底層的JFrame
做到? (它肯定會從JFrame
捕獲;從透明幀捕獲事件只是更合乎邏輯的意義)。Java:MouseEvent透明JPanel
我有LayeredPane
與兩個JPanel
s,全部在JFrame
。 JPanel
s設置爲透明,setOpaque(false)
。但是,我想捕捉鼠標事件(如果它有所不同)(透明的面板)。這是可能的,還是應該從底層的JFrame
做到? (它肯定會從JFrame
捕獲;從透明幀捕獲事件只是更合乎邏輯的意義)。Java:MouseEvent透明JPanel
您可以捕獲附加到MouseListener上的鼠標事件,也不會被添加了MouseListeners的組件以及正在鋪設在原始JPanel上的組件所阻塞。這看起來很適合創建一個GUI最簡單的小測試類,它沒有任何GUI界面,但這說明了您的問題和有希望的解決方案。
此外,請注意透明度除了作爲注意力分散以外不會發揮任何作用。
*「透明度不會發揮任何作用,除非作爲分心」*嗯,這使得難以找到面板點擊首先。 ;)海事組織最透明度增加了視覺效果,同時降低了可用性。 –