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 :

Comment épaissir le trait de contour en utilisant drawRoundRect


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Developpeur
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut Comment épaissir le trait de contour en utilisant drawRoundRect
    Bonjour,

    Je créé des rectangles ainsi où les bords sont amenés à changer de couleur :
    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
    29
    30
     
    public class RectangleSimple extends JPanel 
    { 	
    	/**
             * Permet de creer un rectangle à bord arrondi avec bordure différente
             */
     
    	private static final long serialVersionUID = 1L;
    	private Color couleurBord;
     
    	public RectangleSimple(Color bord) 
    	{
    		setPreferredSize(new Dimension(300, 20));
    		couleurBord=bord;
    	} 
     
    	public void setCouleurBord(Color bord) {
    		couleurBord = bord;
    	}
     
    	public void paintComponent(Graphics g) 
    	{ 		
    		Graphics2D g2D =(Graphics2D)g;
    		g2D.setColor(getBackground());
    		g2D.fillRoundRect(0, 0, getWidth(), getHeight(),50, 50);
    		g2D.setColor(couleurBord);
    		g2D.drawRoundRect(0, 0, getWidth(), getHeight(),50, 50);
     
    	}
    }
    Comment pourrais je epaissir mon coutour ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ce sera via un "setStroke" et l'objet BasicStroke ou un dérivé à toi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Femme Profil pro
    Developpeur
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut
    Merci !
    C'est exactement ca.

    Par contre, il y a moyen de modifier l'affichage général des composants ?

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Comment ça modifier ?
    Si tu veux dire que le Stroke est pris en compte partout, c'est que tu n'as pas remis le Stroke initiale après utilisation.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Stroke avant = graph.getStroke();
    graph.setStroke( monstroke );
    ...
    dessin, blabla....
    ...
    graph.setStroke( avant );
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre confirmé
    Femme Profil pro
    Developpeur
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut
    Désolé, en fait, ca n'a plus grand chose à voir avec le stroke...
    Tant que mes composants étaient avec des angles rectangulaire, pas de soucis, maintenant qu'ils sont arrondi, c'est plus tres joli ...
    drawRoundRect à des arguments en entiers, est ce que cet effet "pixel" viendrait de la ?

  6. #6
    Membre expérimenté Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Par défaut
    Sans doute qu'en mettant de l'antialiasing sur l'objet Graphics avant de peindre le rendu serait moins pixelisé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Graphics2D g2D =(Graphics2D)g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
    ...

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

Discussions similaires

  1. [VB.NET] Comment acceder au fichier en cours d'utilisation ?
    Par Aspic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/02/2006, 16h40
  2. [VB.Net] Comment effacer des traits sur un graphique ?
    Par bert24 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2005, 14h20
  3. comment tracer des traits à la souris ?
    Par FoxDeltaSierra dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 01/09/2005, 16h49
  4. Comment savoir quelle version d'MSXML IE utilise?
    Par trent94 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 17/07/2005, 18h38
  5. Réponses: 6
    Dernier message: 27/05/2004, 10h41

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