如何在JavaFX 2中設置/獲取光標位置?我厭倦了搜索答案,但沒有發現有用的東西。我所能做的就是設置光標的風格。JavaFX 2 set /獲取光標位置
回答
可以使用機器人用於這一目的:
AWT機器人:
http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Robot.html
或玻璃機器人:
com.sun.glass.ui.Robot; 它可以創建: com.sun.glass.ui.Application.GetApplication()。createRobot();
要得到光標所在位置,看其他職位約java.awt.MouseInfo
import java.awt.MouseInfo;
// get the mouse's position
Point p = MouseInfo.getPointerInfo().getLocation();
import java.awt.Robot;
// set the mouse position
new Robot().mouseMove(x, y);
PS這個問題。請勿使用com.sun。*類(除非您使用Mac,請參閱下文)。
PS2。由於JavaFX問題似乎將在JavaFX8中得到解決,因此您無法在Mac中使用java.awt類,因此在亞馬遜基洛夫指出的Mac中,您仍然需要使用com.sun類,如下所示:
// workaround for Mac only
com.sun.glass.ui.Robot robot =
com.sun.glass.ui.Application.GetApplication().createRobot();
// getPosition of the mouse in Mac
int x = robot.getMouseX();
int y = robot.getMouseY();
當您在MacOS上的JFX應用程序中啓動它時,AWT機器人可能會造成麻煩,並且在這種情況下,一種可能的選擇是使用玻璃機器人。請參閱http://stackoverflow.com/questions/15320915/javafx-screencapture-headless-exception-on-osx。在這種情況下,玻璃機器人是私人的,但它不可能是危險的。 –
感謝您告訴我有關Mac問題的信息......但我仍然認爲,當他們只是想輕鬆獲得鼠標在屏幕上的位置時,我們應該將用戶指向「標準」方向,而不是爲Mac提供此com.sun攻擊作爲標準。 – Renato
是的,人們應該理解並接受,這不是一種正式的方式。只是有問題的情況下的選擇。 –
- 1. 獲取光標位置
- 2. SWT獲取光標位置
- 3. 獲取當前鍵盤光標位置
- 4. LWJGL 3獲取光標位置
- 5. 獲取光標位置Android鍵盤
- 6. 在鍵上獲取光標位置
- 7. 在mailItem中獲取光標位置htmlbody
- 8. 獲取CONTENTEDITABLE DIV光標位置
- 9. C#獲取每個光標位置
- 10. 在AngularJs中獲取Textarea光標位置
- 11. contenteditable div獲取光標位置
- 12. 如何獲取TextInput中的光標位置和光標位置後的內容?
- 13. 通過光標/光標位置獲取當前語句
- 14. 獲取光標位置或光標所在行的行數TinyMCE
- 15. JavaFX 2忙指示器光標
- 16. 光標位置
- 17. JavaFX 2圖像位置
- 18. 設置光標位置
- 19. 設置光標位置
- 20. 使用下一次獲取光標位置
- 21. 如何獲取svg和鼠標光標位置正確
- 22. 獲取CKEditor中光標位置的父標籤4
- 23. 在Windows上獲取鼠標光標位置和按鈕狀態
- 24. Vte:在屏幕座標中獲取光標位置
- 25. 獲取鼠標光標位置的windows組件名稱
- 26. 對光標位置
- 27. 光標位置,jquery
- 28. EditText光標位置
- 29. 在光標位置
- 30. JavaFx光標測量
非常感謝,雙方都很好。 –
可能的話,在MacOS上可能會有其中一個問題。所以,你必須交換它們,所以要小心。我的意思是,如果你需要你的解決方案是可移植的,那麼檢查一下,該機器人在所有配置中運行良好。 –
感謝您的信息!幸運的是,我在我的工作場所有一個mac。我會檢查一下。 –