Я должен поставить прозрачное окно своего приложения поверх каждого приложения // не только внутри приложения < Я знаю, что я могу установить модальность на сцене и поставить ее на вершину. Это не то, что я ищу> // (та же функциональность, что и у 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.
Я видел некоторый обучающий материал о том, как сделать так, чтобы время работало только с простой переменной. Как я могу связать эту функцию с моей прозрачной сценой?
Не используйте JNA, используйте Java8u20 который имеет JavaFX всегда на вершине функции.
stage.setAlwaysOnTop(true);