我想构建一个桌面应用程序 - 一个地图查看器,类似这样:http://sunsite.ubc.ca/UBCMap/
在 Java 中。每当有人将鼠标悬停在地图上的建筑物上时,应该有一个气球工具提示在地图上说明该建筑物的一些信息,例如它的办公室电话号码等,并且该建筑物应该在二维地图中发光。有人可以为我提供一些关于我应该在 Java 中使用什么框架来构建这样的东西(例如 JavaFx)的指导吗?是否有任何类似的示例代码?
问问题
4665 次
4 回答
2
如果你真的只有一张图片并且你想要工具提示,这里有一个 30 秒的描述。
- 子类 JPanel
- 覆盖paint()方法来绘制图像
- 将一些形状对象(多边形、矩形等)定义为您的“建筑物”以及文本工具提示字符串
- 覆盖 JPanel 子类中的 getTooltip。在每次调用中迭代您的 Shape 对象,测试该点是否在 shape 内部(shape 有一个方法)。返回适用于 Shape 的工具提示,如果您的鼠标没有超出形状,则返回 null
- 如果您想要翻转效果,请注册 MouseMotionListener 并使用它来查找“悬停”形状。调用 repaint() 并以某种特殊方式渲染您的“悬停”。
- 繁荣!你完成了
提示:您很可能需要使用 TooltipManager 注册您的 JPanel。
于 2009-08-28T16:06:35.910 回答
1
如果您的地图确实与您链接的示例一样简单,我强烈建议您避免使用 java(或完全使用 javaFX)。您可以使用任何 javascript DHTML 映射 api 做您想做的事。看
- 谷歌地图 API
- 开放层
Java 太过分了。小程序加载缓慢且难以在多种环境下正确部署。最好发布一个 KML 文件(或类似文件)并利用其他人的地图,而不是自己编写和维护整个应用程序。
于 2009-08-26T17:16:26.063 回答
0
看看JxMaps产品。它提供了将交互式地图添加到 Java 桌面应用程序的功能。
于 2016-06-08T06:33:11.290 回答