IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[Font] Comment obtenir une Font soulignée ?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut [Font] Comment obtenir une Font soulignée ?
    Bonjour

    j'essaie d'obtenir une Font souligné comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    JTextField toto = new JTextField("text");	      
    	      Font f = toto.getFont();
    	      Map map = f.getAttributes();
    	      map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
    	      map.put(TextAttribute.SIZE,new Float(30));	      
    	      Font df = f.deriveFont(map);	      
                  toto.setFont(df);
    le changement d'attribut pour la Size de la Font est bien pris en compte, mais pas celui pour le soulignement (le texte apparait bien en taille 30 mais pas souligné )

    y'aurait-il par hasard un truc que je ferais mal ?

    ps: je précise que mon but est de pouvoir utiliser une font avec soulignement, le JTextField c'est juste pour tester.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Par défaut
    Essaye plutot avec un JTextPane plutot qu'un JTextField

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    Merci mais ça n'est pas ce que je recherche

    je me suis mal exprimé, ce que j'aimerais bien, c'est avoir une Font qui soit underline.

    je ne veux pas avoir du texte souligné dans un objet du style label (je sais faire) mais j'aimerais avoir une font avec la propriété underline.

    un ami m'a trouvé ça :

    apparement tu ne peux affecter que des propriétés supportées par la police. tu peux le vérifier avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    java.text.AttributedCharacterIterator.Attribute[] acia = f.getAvailableAttributes();
     
    for (int i = 0; i < acia.length; i++)
    {
      java.text.AttributedCharacterIterator.Attribute a = acia[i];
      System.out.println(a);
    }
    ce qui explique le fait que le changement d'attribut Size soit bien pris en compte et pas le underline.

    maintenant la question serait plutot quelle Font je pourrai utiliser pour pouvoir en avoir une underline à ma disposition ? (au moyen du deriveFont comme lors de mon 1er message)

    toutes les idées sont les bienvenues

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Le problème ne se situe pas à la Font utilisée. Tu ne peux pas utiliser des polices "stylées" (càd avec du gras, souligné, italique, couleur etc) dans un composant simple comme un JTextField. Il faut que tu t'orientes, comme l'a déjà dit Guybrush, vers un JTextPane qui permet de jouer sur des nombreux attributs d'un texte (comme taille et type de police, le style, les images dans le texte etc).

  5. #5
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 77
    Par défaut
    bon ça fait rien
    désolé de ne pas pouvoir vous dire pourquoi j'en ai besoin mais j'aurai aimé une font souligné (qui doit fonctionner dans n'importe quel objet capable d'afficher une font)

    je pense qu'il y a carrément un soucis dans la javadoc car en lisant la doc de Font et de TextAttribute, il y a rien qui précise que certains attributs (dont le underline) ne doivent pas fonctionner sur les fonts de base (alors que ça ne fonctionne pas, vous en conviendrez)

    bref, j'ai trouvé une autre solution de toute façon mais bon, ça me gêne encore cette histoire...


    merci tout de même pour vos suggestion Marcin et Guybrush
    ++

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 76
    Par défaut
    En cherchant de solutions pour un problème similaire, j'ai trouve vos messages et l'information suivante.

    http://bugs.sun.com/bugdatabase/view...bug_id=4296952

    S'il n'est pas trop tard, elle pourrait être utile.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment charger une fonte ?
    Par rebpa dans le forum C#
    Réponses: 3
    Dernier message: 21/01/2007, 11h27
  2. Comment avoir une fonte de très grande taille ?
    Par Gébix dans le forum Mise en forme
    Réponses: 2
    Dernier message: 13/01/2007, 18h47
  3. comment avoir une font personnalisé!!
    Par ameno dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 22/02/2006, 14h52
  4. Réponses: 10
    Dernier message: 01/06/2005, 11h30
  5. Réponses: 8
    Dernier message: 28/01/2005, 08h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo