JViews Maps has a dynamic map labeling mechanism.
When activated for a specified map layer, all graphic objects of this
layer are labeled in a separate thread. This ensures maximum responsiveness
of the GUI while performing the background layout. The labeling process
is done every time the user changes the view by zooming, scrolling,
and so on.