esque c possible de connaitre la taille d'une chaine de caractere (string)
en pixel ?????
je pense ça ne l est pas mais c juste pour confirmation
mais ça m aiderai beaucoup si ça l ai :)
Version imprimable
esque c possible de connaitre la taille d'une chaine de caractere (string)
en pixel ?????
je pense ça ne l est pas mais c juste pour confirmation
mais ça m aiderai beaucoup si ça l ai :)
Mésurer la taille d'une String en pixel, cela ne veux rien dire. Une String est un ensemble de caractères stockés en mémoire.
Par contre pour le texte à l'écran, ça doit être faisable via les classes Font et FontMetrics.
Bonjour,
En effet fontMetrics a une méthode stringWidth qui permet de connaitre la largeur en pixel d'un texte en fonction d'une font :
Bonne journée à tous !Code:
1
2
3 FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,11); int msg_width = fm.stringWidth("c'est combien ma largeur ?");
merci NicoWrmCorp
mais ça marche pas sa me sort une tonne d exeption de la class "FontMetrics"
voici exactement se qe je veux faire:
j ai un tableau de "string" que je voudrai placé dans un jpanel l un apres l autre
voici le code qe j utilise
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 int x=10; int y=10; int x2 = 10; for(int j=0; j<10;j++) { FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,11)) { }; int pixel = fm.stringWidth(tableau[j]); x2 = x+ pixel ; if(x2 > jPanel11.getWidth()) { y=y+12; x= 10; } this.jPanel.getGraphics().drawString(tableau[j],x,y); x = x+ pixel + 10; }
Comme ca c'est peut être moin compliqué ..
Ou alors j'ai rien compris à ta demande ... et c'est plus que possible !!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Main extends JApplet { public void init() { String tableau[] = {"Coucou","je","suis","content"}; JPanel princ = new JPanel(); princ.setLayout(new FlowLayout(FlowLayout.LEFT,0,0)); int nbElt = tableau.length; for(int idx=0;idx<nbElt;idx++) { princ.add(new JLabel(tableau[idx])); } this.getContentPane().add(princ); } }
A+
C'est pas possible d'instancier la classe FontMetrics car elle est abstract.Citation:
Envoyé par NicoWrmCorp
Tu ne t'es pas trompé?
Normalement je récupère FontMetrics à partir d'un object Graphics
... désolé j'ai mis "new FontMetrics" pour faire plus court.
Thx ... j'étais en train d'essayer de dériver une classe de FontMetrics :aie: :oops:
merci pour votre aide
le probleme est resolut :)
Code:
1
2
3
4 FontMetrics fm = getFontMetrics(getFont()); int pixel = fm.stringWidth(tableau[j]);