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 :

drawRoundRectangle -> path


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut drawRoundRectangle -> path
    Bonjour,

    je dois dessiner des cadres, avec réserve pour le titre. Il me faut donc dessiner un RoundRectangle moins la place du titre. Autrement dit, je dois dessiner moi-même le rectangle avec des primitives de type drawLine() et drawArc().
    Quelqu'un connait-il l'équivalent de drawRoundRect(10,10,100,100,20,20); avec les primitives sus-citées ?

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 907
    Billets dans le blog
    54
    Par défaut
    *scratch*, *scratch*, *scratch*, hum j'allais te demander dans ton autre topic de poster un screen, un croquis, un dessin ou un prototype de ce que tu veux faire.

    Normalement avec un peu de trigo, une feuille de papier, un calculette et un bouquin de geometrie niveau college, tu peux retrouver assez rapidement les bonnes valeurs a utiliser pour des drawLine()/Line2D et les coins peuvent quant a eux etre dessines a partir de drawArc()/Arc2D. Sinon il y a aussi un bon vieux RoundRectangle2D.

    Mais bon avec un proto ou un screen ca serait quand meme bien plus simple de t'orienter correctement. Chai pas mais decrit comme ca "cadre avec zone reservee", je verrai plutot ca avec un bon vieux GeneralPath/Path2D des familles ou des fusion d'Area...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Effectivement, un dessin vaut mieux que deux long discourts!




    j'avais commencé par tracer le cadre entier, puis j'effaçais la zone du titre avec l'image enregistrée avant, mais cela pose beaucoup de problème.
    Il m'apparait plus simple de tracer le cadre avec la bonne interruption pour loger le titre.

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Je ne sais pas si ça peut t'aider mais la capture d'écran que tu montre correspond à un JPanel avec une TitledBorder comme bordure.

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Je travaille avec une appli basé AWT et je souhaite un minimum de mix avec les composants Swing, raison pour laquelle j'ai très vite abandonné le TitledBorder

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Début de réponse avec le code suivant:
    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
            Shape sh = new RoundRectangle2D.Double(5d,10d,200d,100d,20d,20d);
            PathIterator pi = sh.getPathIterator(null);
            int i = 0 ;
            float seg[] = new float[6];
            while(!pi.isDone()) {
                int segType = pi.currentSegment(seg);
                switch(segType) {
                    case PathIterator.SEG_MOVETO:
                        System.out.print("moveTo: "); for(i=0;i<6;i++){System.out.print("("+i+"):"+seg[i]);}
                        System.out.println("");
                        break;
                    case PathIterator.SEG_LINETO:
                        System.out.print("lineTo: "); for(i=0;i<6;i++){System.out.print("("+i+"):"+seg[i]);}
                        System.out.println("");
                        break;
                    case PathIterator.SEG_QUADTO:
                        System.out.print("quadTo: "); for(i=0;i<6;i++){System.out.print("("+i+"):"+seg[i]);}
                        System.out.println("");                        
                        break;
                    case PathIterator.SEG_CUBICTO:
                        System.out.print("cubiTo: "); for(i=0;i<6;i++){System.out.print("("+i+"):"+seg[i]);}
                        System.out.println("");                        
                        break;
                    case PathIterator.SEG_CLOSE:
                        System.out.print("close : "); for(i=0;i<6;i++){System.out.print("("+i+"):"+seg[i]);}
                        System.out.println("");                        
                }
                pi.next();
            } // while
    avec la sortie qui va bien:
    moveTo: (0):5.0(1):20.0(2):0.0(3):0.0(4):0.0(5):0.0
    lineTo: (0):5.0(1):100.0(2):0.0(3):0.0(4):0.0(5):0.0
    cubiTo: (0):5.0(1):105.52285(2):9.477153(3):110.0(4):15.0(5):110.0
    lineTo: (0):195.0(1):110.0(2):9.477153(3):110.0(4):15.0(5):110.0
    cubiTo: (0):200.52284(1):110.0(2):205.0(3):105.52285(4):205.0(5):100.0
    lineTo: (0):205.0(1):20.0(2):205.0(3):105.52285(4):205.0(5):100.0
    cubiTo: (0):205.0(1):14.477153(2):200.52284(3):10.0(4):195.0(5):10.0
    lineTo: (0):15.0(1):10.0(2):200.52284(3):10.0(4):195.0(5):10.0
    cubiTo: (0):9.477153(1):10.0(2):5.0(3):14.477153(4):5.0(5):20.0
    close : (0):9.477153(1):10.0(2):5.0(3):14.477153(4):5.0(5):20.0
    par contre, je ne m'explique pas pourquoi un simple lineTo() génère 6 coordonnées !?

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

Discussions similaires

  1. [Struts][jsp] probleme de path
    Par vpet dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/03/2004, 18h21
  2. Ajouter des chemins dans la variable PATH
    Par Righetto Dominique dans le forum Linux
    Réponses: 7
    Dernier message: 21/03/2004, 17h38
  3. récupérer le path system
    Par Eugénie dans le forum MFC
    Réponses: 4
    Dernier message: 22/12/2003, 13h03
  4. Réponses: 3
    Dernier message: 10/06/2003, 14h16
  5. Redhat-9 changer le path des databases
    Par jean christophe dans le forum Installation
    Réponses: 7
    Dernier message: 30/05/2003, 17h53

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