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 :

Activer l'antialiasing globalement


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut Activer l'antialiasing globalement
    Bonjour,

    Je cherche à activer l'antialiasing sur l'ensemble de mon application.

    J'ai vu que ces arguments -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true passés à la JVM permettent l'activation. Malheureusement, cela ne s'applique pas à mes objets dessinés dans l'objet Graphics2D. J'ai cru comprendre que c'est seulement pour les JComponent (?).

    Existe t-il un moyen pour activer l'antialiasing sans devoir repasser dans toutes mes méthodes draw ou faire un Look&FeelWrapper ?

    Par avance, merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Bonjour,

    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
    22
    23
    24
    25
    26
    27
    28
    public void paint(Graphics g) {
        // Retrieve the graphics context; this object is used to paint shapes
        Graphics2D g2d = (Graphics2D)g;
     
        // Determine if antialiasing is enabled
        RenderingHints rhints = g2d.getRenderingHints();
        boolean antialiasOn = rhints.containsValue(RenderingHints.VALUE_ANTIALIAS_ON);
     
        // Enable antialiasing for shapes
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                             RenderingHints.VALUE_ANTIALIAS_ON);
     
        // Disable antialiasing for shapes
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                             RenderingHints.VALUE_ANTIALIAS_OFF);
     
        // Draw shapes...; see Drawing Simple Shapes
     
        // Enable antialiasing for text
        g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                             RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
     
        // Draw text...; see Drawing Simple Text
     
        // Disable antialiasing for text
        g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                             RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
    }
    Source

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut
    Merci pour la réponse.

    Ça, je sais le faire. Mais, ce que j'aimerais éviter, c'est de devoir parcourir toutes mes méthodes draw pour ajouter ce code...

  4. #4
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Je ne sais pas ou le mettre exactement pour que ca agisse sur l'ensemble de l'application, probablement le plus haut possible dans les conteneurs (j'entends la méthode paint de ton panel qui contient les autres). Pure supposition.

    En attente d'un membre plus éclairé que moi .

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Par défaut
    Tu peux le faire dans la méthode principale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // enable anti-aliased text: 
      System.setProperty("awt.useSystemAAFontSettings","on"); 
      System.setProperty("swing.aatext", "true");
    ou, tu peux simplement passer les propriétés du système ci-dessus dans la JVM en ajoutant ces options à la ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -jar monProg.jar
    Il y a un autre moyen de le faire de manière permanente : Antialiasing

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2011, 15h30
  2. [Sécurité] Activation d'une variable globale
    Par Ricou13 dans le forum Langage
    Réponses: 3
    Dernier message: 28/09/2005, 10h24
  3. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  4. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34
  5. [Kylix] Clé d'activation
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 27/03/2002, 23h19

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