I can't say "no" as readily because in my experience there is always someone that can find a back door to be able to hack it anyway, but even if it is possible it is simply not a good idea to want to do this. Its already difficult enough to produce the native code that will help to achieve this and debug it, and then you want to make the problem EVEN harder by tagging on JNI.
In my opinion you want to keep the problem domain as contained as possible in stead of layering complexities on top of each other. Keep it within one development platform; a native one to the OS in this case. If you manage that then maybe there can be a phase 2 where you link up a Java program, IF you can find a proper way to bridge the gap. Probably it will be something like COM or networking and not JNI.
Need to develop a Java application to listen to all user events occurring in the (initially only Windows) operating system to record some kind of record and to reproduce the sequence of events below
Huh? Reproduce what 'sequence of events below'? You didnt' post any such list.
Step 1: Write OS specific code that captures and logs events. As noted this is not a trivial task.
Step 2: Then write java code to display and otherwise manipulate the events. How this is done depends on how the events are logged.
If you are careful and test for it the same app will run on multiple OSes.