GLFW4J is an open source wrapper for the LWJGL-GLFW bindings. It’s built around the goals of being easy to use and intuitive to learn, and also offering as many native GLFW features as possible.
Take a look at it on GitHub:

The current feature set includes:

  • Creating and manipulating multiple GLFW windows
  • Handling per-window mouse and keyboard input
  • Listening for input events

Planned features include:

  • Controller/Joystick and clipboard input
  • Listening for window events


What does it offer compared to JGLFW?

You wrote “Optimizations can to be made”, you meant “Optimizations can be made”, didn’t you?

Thanks for linking me to JGLFW. I didn’t know about this yet. :persecutioncomplex: I’ll definitely look into the differences and report back (should’ve done my homework here).
For me the lib was just a personal project I thought sharing would be nice (originally planned to just put the source code here for people having trouble with Glfw, but then the file became like 900 lines long).
And yes, I wanted to write “optimization can be made”.

Thanks for your input. Gave me some things to consider.

Very nice, planned to do this in my project some days ago as i realized how Bad my abstraction is :slight_smile: Will take a closer look at your project. Thank you.

I see that you are exactly doing the same as me, writing OOP wrapper on top of LWJGL provided bindings. You can see mine here:

I believe mine aren’t up to date, last used them with 3.1.5 LWJGL, but they already had got most of the functionality (although tightly coupled with my engine in some areas, like setting icon from image file, etc.,). Maybe we can join our efforts and make that a separate library?

I however don’t know how many people would use it, GLFW is already very usable by newbies too…

We could think about it. I just finished including the last Glfw 3.3.0 gestures and am working on some documentation. I’m not very good at the latter one, maybe you could take a look? That would definitely help and I’m sure there are some things we can use frome the others source code. (at this point I’d rather build upon my existing classes but I would love to have a second person looking over the code an perhaps implementing what you already have but I don’t…)