我一直試圖使用SetClip()在組件邊界之外繪製組件,但事實證明這是非常麻煩的,而且大部分互聯網似乎都認爲它不值得去做。setClip()的替代方法
所以,我正在轉向你可愛的人尋求幫助。有沒有辦法在組件的邊界之外繪製?我需要將界限留在原來的位置,因爲他們也註冊了mouseEntered和mouseExited事件。
我一直試圖使用SetClip()在組件邊界之外繪製組件,但事實證明這是非常麻煩的,而且大部分互聯網似乎都認爲它不值得去做。setClip()的替代方法
所以,我正在轉向你可愛的人尋求幫助。有沒有辦法在組件的邊界之外繪製?我需要將界限留在原來的位置,因爲他們也註冊了mouseEntered和mouseExited事件。
爲了安全起見,setClip()
「設置了用戶剪輯,它獨立於與設備邊界和窗口可見性關聯的剪輯。」如果您的組件位於可見的Container
中,則可以通過覆蓋容器的paint()
(或Swing中的paintComponent()
)來繪製組件。 getComponents()
方法將爲您提供一個包含組件的數組,您可以從中獲取容器座標中的位置。
您是針對AWT還是Swing? – trashgod 2011-03-18 10:28:04
@trashgod:呃......我想我正在使用一種混合物......?現在看來,這似乎不是一個好主意...... – Tharwen 2011-03-21 12:52:08
[Mixing Heavy and light components]中有一些指導原則(http://java.sun.com/products/jfc/tsc/articles /混合/)。 – trashgod 2011-03-21 12:55:14