Hi Roy,
Since you’re looking for client based applications, I would consider using either c# or javafx and use existing open source libraries. Java/JavaFx has also the advantage of being deployed either as a desktop application, mobile (android) or web.
Cheers,
IC