N'aies pas peur de la lenteur de Java : essaie.
Dans 99% des cas aujourd'hui, la lenteur de Java est soit un mythe hérité des premières JVM, soit un prétexte pour ne pas avouer que son code est mal écrit. D'autant que dans ton cas, il est très probable que Java se repose sur le matériel et l'OS sous-jacent pour implémenter les fonctions graphiques que tu souhaites utiliser. Autrement dit, en écrivant le code en C/C++, tu te feras suer (pour faire communiquer le code Java et le code C/C++), pour zéro gain (voire une perte) en performance.
Ceci étant, dans tous les cas, et comme le dit leneufjuillet2006, l'interface native Java (JNI) permet de faire en sorte que du code Java appelle du code C ou C++ (ce code pouvant lui-même appeler du code Java). Côté Java, c'est très simple à écrire ; côté C/C++, le code peut paraître assez complexe. En fait, chacune des fonctions JNI à utiliser pour consulter ou modifier le contenu d'objets Java est élémentaire, ce qui au final est un gage d'efficacité.