JavaFX设置窗口总是在JNA lib,windows os上面

时间:2014-08-21 15:30:16

标签: java c++ windows javafx jna

我必须将我的应用程序透明窗口放在每个应用程序的顶部//不仅仅是在应用程序中<我知道我可以在舞台上设置模态,并把它放在顶部芽,这不是我想要的> //(与swing的setAlwaysOnTop(true)相同的功能),芽,因为这是JavaFX应用程序我还没有这个选项。所以我决定去土生土长,我有JNA课

public interface Kernel32 extends StdCallLibrary {

    public static class WinOnTop extends Structure {

        public HWND  hWnd;
        public HWND  hWndInsertAfter;
        public int X;
        public int Y;
        public int cx;
        public int cy;
        public int uFlags;

        @Override
        protected List getFieldOrder() {
            return Arrays.asList(new String[]{"hWnd", "hWndInsertAfter", "X", "Y", "cx", "cy", "uFlags"});
        }

    }

    boolean SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx,
            int cy, int uFlags);

}

我用来创建它的资源是

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545%28v=vs.85%29.aspx

在我的主要创建对象中:

 public static Kernel32 kernel;

    static{
        kernel=(Kernel32)Native.loadLibrary("Kernel32", Kernel32.class);
    }

这是我第一次尝试在应用程序中添加一些本机功能。

我的问题是我如何先行?我怎么说这是我想要应用这个功能的阶段,我真的需要指向正确的方向,因为我不知道我在做什么与JNA

我已经看到了一些关于如何使用简单变量来处理时间的问题,如何使用我的透明舞台连接thos函数?

1 个答案:

答案 0 :(得分:0)

不要使用JNA,请使用始终具有JavaFX功能的Java8u20

stage.setAlwaysOnTop(true);

nice blog post by Carl Dea on always on top