Bonjour a tous,
Je fais un editeur de formule mathematique et comme elle peut etre tres longue, il serait preferable que l utilisateur puisse voir a quelle parenthese correspond telle autre. J ai donc deja fait une fonction qui me renvoie la position dans la String de la parenthese correspondante. Maintenant, il me reste a l'entoure comme le fait mon gentil editeur JAVA.
Mais alors la probleme, je ne vois pas comment obtenir les coordonnees de la parenthese en question pour dessiner un rectangle dessus. En faite je trouve mais JAVA me genere son exception preferee NullPointerException...
Voila mon code, si quelqu un pouvait me dire ce qui ne va pas cela m'aiderai beaucoup.
donc txtFormula est un JTextArea, je deplace d abord le Caret sur la nouvelle parenthese qui est envoye en parametre, ensuite je dessine autour un rectange de la taille d'une parenthese.
Merci beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void paintBracketHighlight(Point pos) { int c = txtFormula.getCaretPosition(); txtFormula.setCaretPosition(pos); Graphics gfx=txtFormula.getGraphics(); FontMetrics fm=txtFormula.getFontMetrics(txtFormula.getFont()); gfx.setColor(txtFormula.getCaretColor()); gfx.drawRect(pos.x,pos.y,fm.charWidth('(') - 1, fm.getHeight() - 1); txtFormula.setCaretPosition(c); }
Jerome






Répondre avec citation




Partager