Comment mettre plsrs polices d'écritures dans un même JTextArea

Résolu/Fermé
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 18 juil. 2016 à 20:08
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 20 juil. 2016 à 15:02
Bonjour, (Merci KX tu m'as redonné envie de programmer ^^)
Donc j'ai voulu faire un éditeur de texte ... Le problème c'est que je ne sais comment afficher différentes taille et polices d'écritures dans le même JTextArea, donc comment faut-il faire ?
Ou y a-t-il autre chose pour palier à mon problème ?

Merci, les réponses seront les bienvenues ^^

PS : Je sais que cela ne doit pas être possible, alors comment faire, dois-je recoder tout un composant graphique de texte ? LibreOffice est programmé en Java si je ne m'abuse ... Donc ils ont réussi, donc je peux sans doute aussi...

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 juil. 2016 à 20:50
Bonjour, (et de rien)

Si tu parles JTextArea c'est que tu es parti sur du Swing, déjà ce n'est pas le seul moyen de faire, les applications les plus récentes utiliseront plutôt du Java FX, mais ne le connaissant pas je ne saurais dire si pour ton besoin en particulier ce serait plus ou moins simple de le faire ainsi.

Avec la plupart des composants Swing (JTextArea mais pas seulement), il est possible de faire du pseudo HTML, ce qui te permet de faire quelques mises en forme de base. Donc afficher plusieurs tailles c'est possible, mais par contre plusieurs polices je ne pense pas (en tout cas pas avec les fonctionnalités de base d'un JTextArea).

Exemple : How to Use HTML in Swing Components

Tu peux éventuellement aller plus loin avec un JEditorPane :
How to Use Editor Panes and Text Panes

Après il est toujours possible de tout refaire à la main, Java affiches des pixels à l'écran donc sachant cela tout est potentiellement possible...
1
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
18 juil. 2016 à 21:35
J'ai déjà entendu parler de JavaFX mais je préfère d'abord finir mon bouquin sur java

Pour le html, c'est dans mes projets de l'apprendre après le C est le C++, mais je vais regarder pour le JEditorPane qui semble intéressant

Alors après refaire à la main, je ne pense pas que ça se fasse en un claquement de main, mais si il n'y a aucun autre moyen... Bah ça me fera progresser...
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
18 juil. 2016 à 21:39
Bon bah c'est du HTML donc bonjour les 2 semaines de programmation pour recoder une interface ^^
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 juil. 2016 à 22:23
La partie HTML ne concerne que la partie affichage du contenu (les couleurs, la taille du texte, etc.) mais le reste de ton interface graphique ça reste des composants Swing.

Exemple :

JButton button = new JButton("<html><font color=red><u>Bouton rouge souligné</u></font></html>");
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75 > KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024
19 juil. 2016 à 11:04
Ok, j'ai regardé l'HTML c'est simple en faite ^^... Dis, vaut mieux apprendre à utiliser javaFX ? Et est-ce que java est si lourd et lent que ça ...?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
19 juil. 2016 à 19:44
"vaut mieux apprendre à utiliser javaFX ?"
Swing existe depuis Java 2 (mais il est issu d'une librairie tierce qui était utilisable en Java 1) donc la plupart des applications historiques en Java sont en Swing et les développeurs ont appris à coder en Swing c'est donc intéressant de connaître ça.
Après JavaFX est arrivé (depuis Java 7 il me semble, à vérifier) et depuis Java 8 il devient le seul framework à évoluer (il n'y aura plus d'évolutions sur Swing) donc c'est l'avenir de Java.
Dans ton cas - dans un but d'apprentissage - je doute qu'il soit utile de connaître les deux, mais ne connaissant pas JavaFX moi même je ne peux pas te dire si c'est plus simple ou plus intéressant à apprendre que Swing.

"est-ce que java est si lourd et lent que ça ...?"
Il y a mieux, il y a pire, mais les préjugés sur les performances de Java sont surtout issus de ses anciennes versions. Aujourd'hui Java n'a pas à rougir face à d'autres technologies car il peut compenser ses lacunes par d'autres atouts.
Mais c'est toujours pareil, un programme mal codé, que ce soit en Java ou un autre langage, sera toujours plus mauvais qu'un programme bien codé...
Un utilisateur devant un programme Java codé proprement (sans avoir besoin d'être parfait) n'aura ni plus ni moins de problème que si c'était autre chose que du Java.
0