Я предполагаю, что вы не хотите использовать фактическую реализацию карты мира, такую как JXMapViewer ...
Основная функциональность выглядит следующим образом: щелкните по некоторым координатам иэта точка становится центрированной в окне просмотра.Один из довольно простых способов сделать это - иметь компонент (ы), который вы хотите просмотреть, содержащийся внутри JPanel
, и иметь эту панель внутри JScrollPane
с отключенными полосами прокрутки (setHorizontalScrollbarPolicy(HORIZONTAL_SCROLLBAR_NEVER)
и т. Д.).Затем настройте прослушиватель щелчка или действия для ваших элементов, который вычисляет новую центральную точку, какими будут координаты нового прямоугольника области просмотра, и используйте scrollRectToVisible
на панели для смещения вида.Для анимации вы можете использовать Swing Timer
, чтобы установить серию инкрементальных прокруток в нужном направлении, пока не достигнете цели.