AWT: java.awt.Window.getWindows()
'da bir yöntem gördüm. JavaFx'te, tüm pencere JavaFx uygulamasını almak için herhangi bir yöntem var mı?Tüm üst düzey pencere javafx nasıl alınır?
sayesinde
AWT: java.awt.Window.getWindows()
'da bir yöntem gördüm. JavaFx'te, tüm pencere JavaFx uygulamasını almak için herhangi bir yöntem var mı?Tüm üst düzey pencere javafx nasıl alınır?
sayesinde
AFAIK, hala bunu hiç uygun bir yolu yoktur. Bir kirli ve kısa süreli yol olmamasına rağmen
:
source code of javafx.stage.Window
tarama, ne bekliyoruz yapmak gibi görünüyor statik yöntem vardır: javafx.stage.Window#impl_getWindows()
.
Ama feragatnamelerin bir demet vardır:
Bu aslında bir pencere kendisidir tüm Aşamaları alırFXRobotHelper.getStages()
or
StageHelper.getStages()
javafx8 çalışan java8 kullanım için
/**
* Return all Windows
*
* @return Iterator of all Windows
* @treatAsPrivate implementation detail
* @deprecated This is an internal API that is not intended for use and will be removed in the next version
*/
@Deprecated
@NoInit
public static Iterator<Window> impl_getWindows() {
final Iterator iterator = AccessController.doPrivileged(
new PrivilegedAction<Iterator>() {
@Override public Iterator run() {
return windowQueue.iterator();
}
}
);
return iterator;
}
Bu, nihayet Java 9'da düzgün şekilde düzeltilmiştir. Bkz. javafx.stage.Window.getWindows()
Şu anda gösterilen JavaFX pencerelerine başvuru içeren bir liste döndürür. Liste değiştirilemez - bu listeyi değiştirmeye çalışmak , çalışma zamanında atılan bir UnsupportedOperationException ile sonuçlanacaktır.
StageHelper
veyaFXRobotHelper
içeren diğer çözümleri artık mümkün bu gibi olduğu artık erişilebilircom.sun.javafx
paket içinde mevcut olarak
Bu Java 9 esastır.
Bu yöntem, yalnızca geçerli bir işlemde bir Pencere JavaFX'ini listelemektedir. pls benim sonucu için yorum? –
'java.awt.Window.getWindows()' şekilde çalışır. Jre içindeki tüm pencereleri döndürür. – gontard
@gontard no değil. Birkaç javafx pencerem var açık ama awt.Window yöntemi hala boş bir dizi döndürür. – Renato