Voici quelques exemples que j’ai fait sans bibliothèques externes :
Une bibliothèque logicielle Steam alternative qui lit automatiquement les jeux que vous possédez à partir des fichiers Steam locaux, supporte le renommage (dans ce client – aucun fichier Steam n’est jamais modifié), 2 niveaux de balises (= même des balises pour les balises) avec un filtre puissant, une boîte de texte de filtre simple, diverses options de tri, multiselect (qui est maintenant arrivé dans la bibliothèque Steam, par ailleurs encore assez rudimentaire, aussi), garde la trace de quand il a fait connaissance avec un jeu, quand vous l’avez démarré pour la dernière fois (via ce client), peut énumérer tous les DLC, peut bien sûr démarrer des jeux (ou déclencher l’installation), peut montrer la page de la boutique d’un jeu, etc.
Un outil de renommage de fichiers/répertoires dans lequel vous voyez tout le répertoire choisi et pouvez éditer les éléments qui s’y trouvent tout de suite comme si c’était juste un texte dans le Bloc-notes. (Le renommage réel n’a pas lieu tant que vous ne le dites pas explicitement, pour toutes les entrées ou pour des entrées individuelles). Met en évidence les lignes modifiées (si elles sont réellement différentes), dispose d’undos/redos « infinis », d’une sélection par bloc, d’une saisie multiligne, d’un copier/couper/coller par bloc, peut découper le presse-papiers (en coupant éventuellement les extensions de fichiers), de sorte que vous pouvez maintenant facilement copier le contenu d’un répertoire entier en tant que texte.
Un joli jeu de Battleships avec des effets sonores et de la musique en moins de 200KB.
Que puis-je réellement construire avec Java ?
Il y a certaines choses pour lesquelles Java n’est pas si adapté, mais la plupart de ces obstacles peuvent être surmontés avec quelques efforts (mieux que de changer le langage juste pour une telle situation), par exemple en utilisant JNA/JNI (ce que je n’ai jamais fait jusqu’à présent). En dehors de cela, je pense que le ciel est la limite.