The Japi 2 Kernel

The Japi library is a free GUI toolkit which allows for easy creation of platform independent GUI applications using the C programming language. Since the result is a C library other non-object oriented languages can load this library (when compiled with the GNU compiler collection) and utilize the Japi library. Those languages (actually supported by the project) are: Fortran, Pascal and even Basic. Check out more on the project page at!

Back in 2015 my college classmates Vera Christ and Daniel Vivas Estevao and I developed a new version of the Japi kernel as a project. The »kernel« of the Japi library (written in Java) is the part which handles the GUI requests from the library (written in C). The principle of operation is comparable to the X server which receives requests for placing GUI elements (»Japi Calls«) and drawing them.

But in the original version of the Japi library the kernel is implemented using the AWT GUI toolkit of Java which is by now very old and not very usable (anymore). Therefore our project goal was the recreation of the Japi kernel by retaining full compatibility to the Japi library but migrating the kernel to use Java SWING instead of AWT. It provides much better GUI capabilities although it is also very old and has some bugs here and there.

If you are intereseted, go checkout the Git repository here. There you'll find the source code along with an extensive documentation of the entire project.


In the following only some exemplary screenshots of some features of the Japi 2 kernel are shown.