我正在使用JPanel
和OverlayLayout
來繪製兩個不相關的組件。具體來說,我有一個透明的組件,其中包含我自己的線條圖,在其下面,我使用了一個顯示OpenStreetMap圖塊的JMapViewer
組件。這工作。如何確保OverlayLayout中的正確繪圖順序?
除JMapViewer異步加載tile以外。在這種情況下,當加載完成時它自己調用repaint()
,並且它通過我的線路層自行繪製。我的線路層無法知道這一點,因爲它無法知道JMapViewer何時選擇重新繪製自己。
現在我會預計JPanel
重繪我的線路層時,地圖層重繪,因爲它知道正確的繪圖順序,並知道我的線路層必須重新繪製。但它不這樣做。
你會如何解決這個問題?
謝謝。我現在正在處理*另一個*地圖查看器組件,因爲垃圾回收的方法不起作用(因爲它沒有偵聽器的鉤子),但是你的方法卻行。 – 2011-08-03 15:33:15