2009-08-16 64 views
4

我想構建一個桌面應用程序 - 地圖查看器,如下所示:Java中的http://sunsite.ubc.ca/UBCMap/。每當有人將鼠標懸停在地圖上的建築物上時,應該有一個氣球工具提示在地圖上說出有關該建築物的一些信息,如辦公室電話號碼等,並且該建築物應在二維地圖中發光。有人可以提供一些關於我應該在Java中使用什麼框架來構建這樣的東西(例如JavaFx)的指示嗎?有沒有任何類似的示例代碼?Java中的交互式地圖查看器桌面應用程序

+0

我想這裏也有類似的問題:http://forums.adobe。com/thread/21693 – iceman 2009-08-16 05:05:03

+0

(有關信息,有關於導致不穩定性的鏈接的孤立報告 - 不可關閉的java applet等;但是,它對我來說是安全的;我將它作爲非鏈接,但將href - 只是作爲一個預防措施) – 2009-08-16 20:13:22

回答

1

如果你真的只是一個圖像,你想要它的工具提示 - 這是一個30秒的描述。

  • 子類的JPanel
  • 覆蓋paint()方法來繪製圖像
  • 定義形狀的物體(多邊形,rects等)的一些號碼作爲「建築」用文本工具提示字符串
  • 沿
  • 覆蓋JPanel子類中的getTooltip。在每次調用時迭代Shape對象,測試點是否在內部形狀(形狀具有此方法)。返回適用於形狀的工具提示;如果鼠標未超出形狀,則返回null
  • 如果要使用過渡效果,請註冊MouseMotionListener並使用它查找「懸停」形狀。調用repaint()並以某種特殊方式呈現您的「懸停」。
  • 熱潮!你已經完成

提示:你將需要註冊你的JPanel最有可能的TooltipManager。

0

JavaFX是此類應用程序的合適候選者。 JavaFX腳本語法需要一些習慣,但是一旦你加快了速度,很容易創建圖形/ GUI組件。

此外,您可以掛接到可能適用於您的應用程序的現有Java API和Web服務。

檢出herehere的應用程序類似於您所描述的應用程序。 (也適用於Javafx地圖)

關於JavaFX的一個警告是它仍處於其生命的早期階段 - 因此期望遇到錯誤並且警告在後續版本中可能會發生變化。

+0

是的,你是對的..與javafx開始似乎有點奇怪的腳本..所以我想現在讓它簡單。讓我做它使用swing..since,這不是一個谷歌/雅虎地圖..我gif /位圖,我有campus.how地圖,我可以處理它,以便鼠標懸停在地圖上的各個建築物可以顯示氣球提示? – iceman 2009-08-18 07:52:33

+0

不要誤解我的意思 - 我不想讓你跟JavaFX一起工作。一旦熟悉它就很容易使用,而且它看起來非常適合您描述的應用程序類型。 – 2009-08-18 08:54:47

1

如果你的地圖真的和你鏈接的例子一樣簡單,我強烈推薦避免使用java(或者javaFX)。你可以用任何javascript DHTML mapping apis來做你想做的。見

  • 谷歌地圖API
  • 的OpenLayers

Java是矯枉過正。 Applets加載緩慢,難以在各種環境下正確部署。最好發佈一個KML文件(或類似的東西),並利用別人的地圖,而不是自己編寫和維護整個應用程序。

+0

感謝Joel的建議,但是如果您閱讀我的文章,我希望它在桌面應用程序中......而不是在瀏覽器中。我想要一些建議,我如何閱讀和處理地圖..應該是一個地圖.. – iceman 2009-08-27 21:49:28

+0

啊,在這種情況下,你可能想看看GeoTools庫。這是一個java庫,爲構建地圖軟件提供了許多工具 – 2009-08-28 16:00:56

0

看看JxMaps產品。它提供了將交互式地圖添加到Java桌面應用程序的功能。

相關問題