1
基本上,當我將鼠標懸停在其中一個峯上時,我想顯示一些額外信息的工具提示。如何在顯示器上確定javafx的折線圖峯值位置
但是,我無法猜測如何獲取峯值的位置監視器上(因爲提示詢問你的顯示器的絕對座標)
這是我當前的代碼
//dateNumberData is the peak
Tooltip tooltip = new Tooltip();
//Here i just edit tooltip info
dateNumberData.getNode().setOnMouseEntered(event -> {
tooltip.show(dateNumberData.getNode(),
dateNumberData.getNode().localToScreen(dateNumberData.getNode().getLayoutX(), 0).getX(),
dateNumberData.getNode().localToScreen(0, dateNumberData.getNode().getLayoutY()).getY());
});
dateNumberData.getNode().setOnMouseExited(event -> tooltip.hide());
但提示出現在所有在那個地方。如果我使用dateNumberData.getNode().getParent().localToScreen()
提示只是不會出現在所有(但tooltip.getX()返回還挺正確的座標。至少它shoudld與座標顯示)
我知道我需要添加一些彌補,我要的是後來添加的,但我實際上並沒有想到它會重疊節點和觸發'onMouseExited()'這可能就是爲什麼帶有'.getParent()'的代碼沒有顯示任何工具提示,並且我得到的垃圾郵件與調試輸出我加在這裏... – Meegoo
所以這解決了它?或不?我無法從您的評論中得知。我更新了一個完整的例子。 –
終於有時間檢查。是的,它解決了。 '.getParent()'+添加一些偏移量就可以了 – Meegoo