DISCLAIMER: je suis un Clojure programmeur. Je suis évidemment biaisée.
De toutes ces langues, je pense que Clojure et Groovy sont probablement le plus compact. Scala est un curly-support des langages comme Java, de sorte qu'il a tendance à prendre un peu plus d'espace. Cependant, il est loin d'être aussi détaillé que Java est, et je pense que Scala est assez impressionnant. Je sais que la Scala a un swing wrapper. Je n'ai jamais fait de développement du GUI en Scala, donc je ne peux pas vraiment dire comment il se sent.
J'ai fait de la balançoire développement en Clojure, et il n'a pas vraiment beaucoup. À l'aide de swing direct de Clojure peut être fastidieux jusqu'à ce que vous écrivez vous-même certaines abstractions, mais tout à fait, swing apps sont plus petits que la même chose en Java, car Clojure code a tendance à être plus court et plus concis que le code Java.
Clojure a aussi quelques papiers d'emballage de toutes sortes à faire de la balançoire développement plus Clojury. L'un des qui est clj-swing. J'ai vu un code écrit à l'aide d'elle, et c'est plutôt cool, et certainement plus concis que direct interop.
Maintenant, je ne sais pas Groovy. Je ne sais vraiment pas grand-chose à ce sujet, mais je sais que c'est plus compact que celui de Java, donc j'imagine développement du GUI serait assez compacte, ainsi.
Je pense que Clojure est un pari sûr. Avec clj-swing, ou même directement à l'aide de l'IHM Java boîtes à outils directement va être beaucoup plus compact par rapport à Java, et la capacité à construire des abstractions non plus compact des trucs avec des macros est certainement un énorme plus. Clojure a mon vote.