Java ile Swing GUI çalışması yapıyorum ve bence sorum oldukça basit; Biri farenin pozisyonunu nasıl ayarlıyor?Farenin konumunu Java'da nasıl ayarlayabilirim?
cevap
Bu sınıf test otomasyonu, kendi kendine çalışan demoları ve fare kontrolü ve klavye gereklidir diğer uygulamaların amaçları için yerli sistem giriş etkinliklerini üretmek için kullanılır Robot
kullanmak gerekir. Robot'un temel amacı Java platform uygulamalarının otomatik testini kolaylaştırmaktır.
Girdi olaylarını oluşturmak için sınıfı kullanmak, olayların platformun yerel giriş kuyruğunda üretilmesiyle olayları AWT olay sırasına veya AWT bileşenlerine göndermekten farklıdır. Örneğin,
Robot.mouseMove
aslında ... sadece üreten fare hareket olayların yerine Robot sınıfını
kontrol fare imlecini dışarı hareket edecektir.
Diğerleri söylediler, bu Robot.mouseMove(x,y)
kullanılarak elde edilebilir. Bununla birlikte, aksi halde belirtilmedikçe, bu çözüm, çoklu monitör durumunda çalışırken robotun ana ekranın koordinat sistemi ile çalışması nedeniyle bir düşüşe neden olur.
public void moveMouse(Point p) {
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
// Search the devices for the one that draws the specified point.
for (GraphicsDevice device: gs) {
GraphicsConfiguration[] configurations =
device.getConfigurations();
for (GraphicsConfiguration config: configurations) {
Rectangle bounds = config.getBounds();
if(bounds.contains(p)) {
// Set point to screen coordinates.
Point b = bounds.getLocation();
Point s = new Point(p.x - b.x, p.y - b.y);
try {
Robot r = new Robot(device);
r.mouseMove(s.x, s.y);
} catch (AWTException e) {
e.printStackTrace();
}
return;
}
}
}
// Couldn't move to the point, it may be off screen.
return;
}
Linux platformunda çalışır mı? –
@ Daniel - burada yanıtladığınızdan beri yıllar geçti, ancak bugün onu buldum ve metin imlecini yeniden konumlandıran yanlışlıkla fare tıklamaları ile aylardır yaşadığım bir sorunu çözdüm. Ben yorumunuzu okuyana kadar sadece Robot.mouseMove kullanmak cazip oldu. Garip bir şekilde, çok monitörlü bir kurulum kullanmaya yeni başlamıştım! Seninle tanışmadığım sınıfları kullandığından, yapmam gereken tek şey kodunuzu kopyalamak, birkaç ithalat yapmak ve onu aramaktı. Aferin! Teşekkürler!! – DSlomer64
- 1. UIScrollView öğesinin kaydırma konumunu nasıl ayarlayabilirim?
- 2. Opencv (python) kullanarak, tıklatıldıktan sonra farenin konumunu nasıl yazdırabilirim.
- 3. IntelliJ IDEA'daki tüm projeler için varsayılan proje konumunu nasıl ayarlayabilirim?
- 4. .NET'de bir MS Grafiğinin x ekseni etiketlerinin konumunu nasıl ayarlayabilirim?
- 5. Salatalık javada senaryo adı nasıl alınır?
- 6. Yazıcı ile javada dizileri kullanma
- 7. ListView ilk görülebilir konumunu belirledi
- 8. Excel grafiğinin konumunu C# 'dan nasıl belirleriz?
- 9. Nesne farenin imlecini takip edin
- 10. Bir çizim penceresinin pencere boyutunu nasıl ayarlayabilirim?
- 11. MessageBox konumunu nasıl değiştiririm?
- 12. Bootstrap panelindeki bir metnin konumunu, üstteki maksimum yükseklik ile nasıl ayarlayabilirim?
- 13. Pencereler için tutulmayı kullanarak javada akış
- 14. og: resmini nasıl ayarlayabilirim?
- 15. QueryTimeout'u SimpleJdbcTemplate'de nasıl ayarlayabilirim?
- 16. MPVolumeView'ı nasıl hızla ayarlayabilirim?
- 17. Enable'ı AlternateView'de nasıl ayarlayabilirim
- 18. Uçucu değişken, javada statik olarak tanımlanabilir mi?
- 19. Koyu renklerin parlak hale getirilmesi javada parlak
- 20. Javada, bunlardan biri sinyal verilinceye kadar çoklu `Koşullar 'beklemek nasıl
- 21. JavaFX 8 WebEngine: javascript'ten javada System.out'a console.log() nasıl alınır?
- 22. Çok satırlı metin javada printdialog ile nasıl dışa aktarılır?
- 23. Bir tablonun içindeki farenin üstündeki boşluk
- 24. UILabel - metin konumunu nasıl değiştirilir
- 25. ListView konumunu korumak için nasıl
- 26. Mevcut GPS konumunu nasıl edinebilirim?
- 27. Görüntü boyutunun konumunu nasıl değiştirebilirim?
- 28. Liste görünümü konumunu nasıl karıştırırsınız?
- 29. onClickListener'da tıklama konumunu nasıl alabilirim?
- 30. ListView'ın kaydırma konumunu nasıl kaydedebilirim?
Harika, teşekkürler: Burada
Eğer herhangi bir nokta merkezli küresel ekran koordinatları geçmesine izin veren bir çözümdür. Tam olarak ihtiyacım olana benziyor. –