2011-05-07 69 views

回答

2

我猜你不想使用一個實際的世界地圖實現類似JXMapViewer ...

的基本功能似乎是:點擊一些座標,這一點在視口中的中心變爲。一個相當簡單的方法就是讓你想要查看的所有組件都包含在JPanel中,並將該面板的JScrollPane內的滾動條關閉(setHorizontalScrollbarPolicy(HORIZONTAL_SCROLLBAR_NEVER)依此類推)。然後,爲您的元素設置點擊或動作偵聽器,以計算新的中心點,新的視口矩形座標將是什麼,並使用面板上的scrollRectToVisible來移動視圖。對於動畫,您可以使用Swing Timer在所需方向上設置一系列增量滾動,直到達到目標。

+0

非常感謝,我發現[this](http://java-swing-tips.blogspot.com/2008/06/mouse-drag-auto-scrolling.html)的例子,它的工作原理與你推薦的方式一樣我。 – 2011-05-09 02:41:29