我正在使用JPanel
和OverlayLayout
来绘制两个不相关的组件。具体来说,我有一个透明的组件,其中包含我自己的线条图,在其下面,我使用了一个显示OpenStreetMap图块的JMapViewer
组件。这工作。如何确保OverlayLayout中的正确绘图顺序?
除JMapViewer异步加载tile以外。在这种情况下,当加载完成时它自己调用repaint()
,并且它通过我的线路层自行绘制。我的线路层无法知道这一点,因为它无法知道JMapViewer何时选择重新绘制自己。
现在我会预计JPanel
重绘我的线路层时,地图层重绘,因为它知道正确的绘图顺序,并知道我的线路层必须重新绘制。但它不这样做。
你会如何解决这个问题?
谢谢。我现在正在处理*另一个*地图查看器组件,因为垃圾回收的方法不起作用(因为它没有侦听器的钩子),但是你的方法却行。 – 2011-08-03 15:33:15