Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的交互式地图查看器桌面应用程序_Java_User Interface_Javafx - Fatal编程技术网

Java中的交互式地图查看器桌面应用程序

Java中的交互式地图查看器桌面应用程序,java,user-interface,javafx,Java,User Interface,Javafx,我想构建一个桌面应用程序—一个地图查看器,类似这样:http://sunsite.ubc.ca/UBCMap/在Java中。每当有人将鼠标悬停在地图上的某个建筑上时,应该会有一个气球工具提示,提示地图上该建筑的相关信息,如其办公室电话号码等,并且该建筑应该在二维地图中发光。有人能告诉我应该用什么框架在Java中构建这样的东西(例如JavaFx)吗?有没有类似的示例代码?JavaFX是这种类型应用程序的合适候选。JavaFX脚本语法需要一点时间来适应,但一旦您达到了速度,就可以轻松创建图形/GUI

我想构建一个桌面应用程序—一个地图查看器,类似这样:
http://sunsite.ubc.ca/UBCMap/
在Java中。每当有人将鼠标悬停在地图上的某个建筑上时,应该会有一个气球工具提示,提示地图上该建筑的相关信息,如其办公室电话号码等,并且该建筑应该在二维地图中发光。有人能告诉我应该用什么框架在Java中构建这样的东西(例如JavaFx)吗?有没有类似的示例代码?

JavaFX是这种类型应用程序的合适候选。JavaFX脚本语法需要一点时间来适应,但一旦您达到了速度,就可以轻松创建图形/GUI组件

此外,您还可以连接到可能对您的应用程序有用的现有JavaAPI和web服务

查看并查找与您描述的应用程序类似的应用程序。(也可通过谷歌搜索Javafx地图)


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

如果您的地图真的像您链接的示例一样简单,我强烈建议避免使用java(或JavaFX)。您可以使用任何javascript DHTML映射API做您想做的事情。看

  • 谷歌地图API
  • 开放层

Java是过火了。小程序加载速度慢,并且难以在各种环境下正确部署。与其自己编写和维护整个应用程序,不如发布一个KML文件(或类似文件)并利用其他人的地图。

如果您真正拥有的只是一个图像,并且希望在其上显示工具提示,请看以下30秒的说明

  • JPanel亚类
  • 重写paint()方法以绘制图像
  • 定义一些形状对象(多边形、矩形等)作为“建筑物”,并使用文本工具提示字符串
  • 重写JPanel子类中的getTooltip。在每次调用时,迭代Shape对象,测试该点是否位于Shape内部(Shape有一个用于此的方法)。返回适用于形状的工具提示,如果鼠标不在形状上,则返回null
  • 如果需要滚动效果,请注册MouseMotionListener并使用它查找“悬停”形状。调用repaint()并以某种特殊方式呈现“悬停”
  • 轰!你完了

提示:您很可能需要在ToolTimManager中注册您的JPanel。

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

我认为这里也有一个类似的问题:(关于信息,有一些孤立的报告称该链接导致不稳定-不可关闭的java applet等;但是,它对我来说工作安全;我将其设置为非链接,但保留href-作为预防措施)是的,你是对的。从javafx开始编写脚本似乎有点奇怪。所以现在我想让它保持简单。让我用swing来做。因为,这不是google/yahoo地图。它是gif/位图,一张我拥有的校园地图。我如何处理它,以便在地图上的各个建筑物上的鼠标可以显示气球尖?别误会,我不想让你推迟使用JavaFX。一旦你习惯了它,它就很容易使用,而且它似乎非常适合你描述的应用程序类型。谢谢你的建议Joel,但是如果你读了我的帖子,我希望它在桌面应用程序中…而不是在浏览器中。我想要一些关于如何阅读和处理地图的建议。应该是tilemap吗。啊,那样的话,你可能想看看GeoTools库。它是一个java库,提供了许多用于构建地图软件的工具