Bonjour,
Mon but serait de pouvoir mettre du texte cliquable dans une bulle de Bande dessinée (exemple: un cadre Rectangle arrondie et une pointe plus ou moins longue). Le texte peut varier en longueur et la bulle doit donc se redimensionner si besoin est.
Tout d'abord une telle chose est-elle possible en JAVA 6, sans le package com.sun.awt.AWTUtilities.*; (sauf si il n'ya pas d'autres choix.)
(dites oui, svp)
Pour être le plus libre possible j'ai choisi d'utiliser la classe Popup dans lequel je mes un JEditorPane. Les JDialogs heritant de Window, je me dis que l'on vera donc forcément un cadre rectangulaire autour du texte (je veux pouvoir modifier la forme).
Pour avoir du texte cliquable j'utilise les Hyperlink. Ça marche dans des JEditorPane. Mais mon JEditorPane n'a qu'une forme rectangulaire classique. Or je voudrais le faire ressembler à une bulle (je voudrais utiliser les Shape en collant une ellipse avec un triangle).
PROBLEME N°1:
J'ai essayé de surcharger paintComponent, mais dans ce cas mon texte n'est plus visible, il semble caché (par contre à l'emplacement du texte le curseur change de forme pour montrer qu'il y a une zone cliquable).
Faut-il appeler d'autres méthodes pour que le texte reste visible? Si je redessine des lettres via paintComponent (avec les glyphes), il faut donc que je redessine à l'endroit où se trouve les zones cliquables (est il possible de placer du texte precisement dans un composant)?
PROBLEME N°2:
De plus même si quand j'essaye de changer la forme de mon composant (exemple: je fais g.drawOval(this.getX(), this.getY(), this.getWidth(), this.getHeight());) Un ovale est bien dessiné, certes, mais on apercoit toujours le cadre autour? Savez-vous comment faire pour ne plus avoir le cadre rectangulaire?
Donc mon gros problème est surtout de savoir comment modifier la forme de mon composant comme je veux (ex: utiliser par la suite les renderer, les textures...) en gardant le texte cliquable visible?
J'ai mis en lien la classe CustomPopup où j'utilise mon Popup et MyJEditorPane qui est un JEditorPane que jeux personnaliser.
Voilà j'aimerais surtout connaitre l'ordre des étapes à respecter car les tutoriaux fournissent beaucoup d'informations, mais restent très générals?
En vous remerciant,
Partager