Java中的Interactive Map查看器桌面应用程序

时间:2009-08-16 05:03:44

标签: java user-interface javafx

我想构建一个桌面应用程序 - 一个地图查看器,如下所示:Java中的http://sunsite.ubc.ca/UBCMap/。每当有人将鼠标悬停在地图上的建筑物上时,应该有一个气球工具提示说明地图上的建筑物,如办公室电话号码等,并且该建筑物应该在2-d地图中发光。有人可以给我一些指示,我应该在Java中使用什么框架来构建这样的东西(例如JavaFx)?是否有任何类似的示例代码?

4 个答案:

答案 0 :(得分:2)

如果您拥有的只是一张图片并且您想要工具提示 - 这是一个30秒的描述。

  • 子类JPanel
  • 覆盖绘制图像的paint()方法
  • 将一些Shape对象(多边形,rects等)定义为“建筑物”以及文本工具提示字符串
  • 覆盖JPanel子类中的getTooltip。在每次调用时迭代您的Shape对象,测试该点是否在内部形状(形状有一个方法)。返回适合Shape的工具提示,如果鼠标没有形状,则返回null
  • 如果您想要翻转效果,请注册MouseMotionListener并使用它来查找“悬停”形状。调用repaint()并以某种特殊方式呈现“悬停”。
  • 热潮!你已经完成了

提示:您最需要使用TooltipManager注册JPanel。

答案 1 :(得分:1)

如果您的地图真的像您链接的示例一样简单,我强烈建议避免使用java(或javaFX)。您可以使用任何javascript DHTML映射apis执行您想要的操作。参见

  • Google Maps API
  • 的OpenLayers

Java太过分了。小程序加载缓慢,难以在各种环境下正确部署。最好发布一个KML文件(或类似的东西)并利用别人的地图而不是自己编写和维护整个应用程序。

答案 2 :(得分:0)

JavaFX是此类应用程序的合适候选者。 JavaFX脚本语法需要一些时间来习惯,但是一旦达到速度,就很容易创建图形/ GUI组件。

此外,您可以挂钩可能适用于您的应用程序的现有Java API和Web服务。

查看herehere以查找与您描述的应用类似的应用。 (也是谷歌的Javafx地图)

关于JavaFX的一个警告是,它仍处于生命的早期阶段 - 因此期望遇到错误并被警告可能会在以后的版本中破坏更改。

答案 3 :(得分:0)

查看JxMaps产品。它提供了将交互式地图添加到Java桌面应用程序的功能。