Если цель состоит в том, чтобы иметь быстрый оконный менеджер, вам, безусловно, лучше с C ++ или C #, или, возможно, даже с Delphi.
Но если вы наиболее знакомы с Java, это можно сделать.
Если вы выберете (устаревший) JNI, вам придется написать DLL на C или Delphi, которую будет использовать ваше Java-приложение.Вместо этого вы должны использовать JNA для доступа к функциям API обработки окон Windows.
Вот некоторые из функций, которые вы бы использовали:
HWND WINAPI GetWindow(HWND hWnd, UINT uCmd);
HWND WINAPI FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName);
BOOL WINAPI EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam);
HWND WINAPI WindowFromPoint(POINT Point);
BOOL WINAPI MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
Как только вы получите окнообрабатывать (HWND) вы можете делать все что угодно с этим окном.
Справочник по функции EnumWindows на MSDN