我正在玩 Java 中的 JFrame。我希望它成为最顶层的窗口,即始终位于顶层。setAlwaysOnTop() 工作正常,但是一旦我以全屏模式启动电影或游戏窗口,它就无法保持在顶部。
我玩弄了 JNI 和句柄。我的 JNI 的 C 代码正在使用 SetWindowPos() ,这似乎工作正常,直到我启动一个全屏应用程序。这是一个示例:
JNIEXPORT void JNICALL Java_Frame1_setWindowAlwaysOnTop
(JNIEnv *env, jclass obj, jint hwnd, jboolean flag)
{
if (flag)
SetWindowPos((HWND) hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
else
SetWindowPos((HWND) hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
return;
}
我已经在谷歌上搜索了一段时间,我所建立的只是全屏以独占模式运行并“暂停窗口系统,以便可以直接在屏幕上进行绘图”。
任何人都可以提出解决方法吗?顺便提一句。我的C不是那么出色,所以放轻松..
谢谢!达摩