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

2D Java Discussion :

redimensionnement d'un drawString


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mattyeux
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 169
    Par défaut redimensionnement d'un drawString
    Bonjour,

    J'ai dessiner un string (drawstring ) dan sun JPanel. Le probleme c'est que la taille de ce String est fixe quelque soit la taille de mon JPanel.
    Or quand je redimensionne ma JFrame, mon JPanel se redimensionne mais pas mon drawstring... et ca donne un rendu hmmmm comment dire .... horrible

    Pourriez vous m'aider ?

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Cela dépend un peu de la façon dont tu fais l'agrandissement et de la qualité que tu veux obtenir.

    Peut être peux-tu considérer ce qu'affiche ton panel comme une image, et, à l'agrandissement, tu agrandis une image ; tout va donc s'agrandir à l'échelle que tu auras donné. Cette technique fonctionne bien si on se contente d'une qualité grossière.

    Sinon, il faut modifier la taille de la police via Graphics.setFont, de façon proportionnelle et adéquate avec la taille générale.

  3. #3
    Membre confirmé Avatar de mattyeux
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 169
    Par défaut
    Salut,
    Merci de ta réponse.

    J'ai en fait ecrit une classe ou j'affiche mon DrawString().
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class TitleSynthese extends JPanel{
    	public String titre1;
    	public String titre2;
    	public String titre3;
     
        public TitleSynthese(String titre1, String titre2,  String titre3){
        	this.titre1 = titre1;
        	this.titre2 = titre2;
        	this.titre3 = titre3;
        	this.setBackground(new Color(196,221,252));
        }
     
        protected void paintComponent(Graphics g){
        	super.paintComponent(g);
            g.setColor(Color.black); 
            g.setFont(new Font("impact", Font.BOLD, 20)); 
            g.drawString(this.titre1,this.getWidth()/5+20,this.getHeight()/3);       
            g.setColor(Color.gray); 
            g.drawString(this.titre1,this.getWidth()/5-2+20,this.getHeight()/3-2); 
        }
    }
    La je fixe les police a 20, il faudrait donc que je les rendent dynamique par rapport a la taille du JPanel ... Mais je vois pas trop comment trouver une formule en fonction du de la largeur et/ou de la longueur qui me trouve la valeur de la taille d'un police... En sachant que si je ne modifie que la largeur, la police ne change pas vraiment mais se "ratatine" ...
    Dans ce cas la, il vaut mieux, comme tu me l'as dis, cosidéré mon JPanel comme une image... mais comment ?

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Citation Envoyé par mattyeux
    La je fixe les police a 20, il faudrait donc que je les rendent dynamique par rapport a la taille du JPanel ... Mais je vois pas trop comment trouver une formule en fonction du de la largeur et/ou de la longueur qui me trouve la valeur de la taille d'un police... En sachant que si je ne modifie que la largeur, la police ne change pas vraiment mais se "ratatine" ...
    C'est effectivement la difficulté de ce genre d'exercice. Mais ça se fait.

    Pour y parvenir, la clef est de toujours garder à l'esprit ce que signifie normal, lisible, cohérent, pour l'utilisateur. Il se peut très bien qu'il devienne normal et cohérent qu'un texte devienne illisible. Ou qu'il soit absolument nécessaire qu'un texte soit lisible, même si c'est incohérent. Il faut jouer avec toutes ces choses, et les utiliser au mieux, ce qui pose pas mal de problèmes techniques et ergonomiques.
    Citation Envoyé par mattyeux
    Dans ce cas la, il vaut mieux, comme tu me l'as dis, cosidéré mon JPanel comme une image... mais comment ?
    Il faut que tu actives la méthode paint (ou l'une de ses copines) en lui passant le Graphics d'une image ; puis tu ré-exploites cette image, pour la grossir ou la rapetisser, et l'afficher ensuite sur l'écran.

  5. #5
    Membre confirmé Avatar de mattyeux
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 169
    Par défaut
    Je cherche simplement que ca reste proportionnel a mon JPanel, c'est a dire qu'il soit lisible, au centre, et entièrement à l'intérieur du JPanel...
    J'essaye de bidouiler des formules mais c'est vraiment pas facile

  6. #6
    Membre confirmé Avatar de mattyeux
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 169
    Par défaut
    Bon, j'ai trouvé une formule en fonction la diagonale du JPanel calculé avec Pythagore... Ca marche pas mal ... C'est pas terrible terrible mais ca me convient pour le moment


    Merci pour ton aide giffftane

Discussions similaires

  1. [Kylix] Fenêtres non redimensionnables
    Par fred78 dans le forum EDI
    Réponses: 2
    Dernier message: 01/12/2002, 14h08
  2. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32
  3. redimensionnement d'une JWindow
    Par mbp566 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 02/08/2002, 03h41
  4. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40
  5. Redimensionnement d'une surface
    Par Freakazoid dans le forum DirectX
    Réponses: 4
    Dernier message: 01/07/2002, 22h01

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