Я опустил комментарий, но это заслуживает ответа.Добавление нативного кода MPlayer, так что вы застряли с Impl и ОС.Устаревание getPeer () в основном связано с тем, что вы можете делать действительно странные вещи, а не переносимые.
В вашем случае это не имеет значения.
Примечание: WComponentPeer имеет публичный метод getHWnd (), поэтому вам не нужно обманывать его с помощью отражения.Код, который у вас сейчас есть, на самом деле довольно небезопасен, так как он не проверяет фактического пира.
вы можете заменить его следующим образом:
long hWnd = 0
try{
Class clazz = Class.forName("sun.awt.windows.WComponentPeer);
synchronized(overlay.getTreeLock()){
ComponentPeer peer = overlay.getPeer();
if (clazz.isInstance(peer)){
hWnd = ((sun.awt.windows.WComponentPeer) overlay.getPeer()).getHWnd();
}
}
}catch(ClassNotFound _noWindows){
//process..
}
удачи!