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

Agents de placement/Fenêtres Java Discussion :

[Synth] Largeur des composants


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut [Synth] Largeur des composants
    Bonjour,

    Je suis en train de réaliser un skin avec l'API Advanced Synth, mais je suis sur un petit problème que voici imagé :


    Sans Synth activé :




    Avec Synth :



    On peut donc remarquer que lorsque le skin est chargé, il écrase le texte si celui-ci est trop long. Comment faire pour redimensionner mon composant avec Synth de tel façon que le texte ne soit plus écrasé, ou bien donner lui une taille fixe en largeur au composant (JButton).

    Savez-vous également si il est possible de définir une marge extérieure entre chaque bouton que ce soit avec Synth ou directement dans le code Java ? (J'utilise un GridBagLayout)

    Merci.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Par défaut Re: [Synth] Largeur des composants
    Citation Envoyé par nicolas.pied
    Savez-vous également si il est possible de définir une marge extérieure entre chaque bouton que ce soit avec Synth ou directement dans le code Java ? (J'utilise un GridBagLayout)
    pour la marge il faut définir le inset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 0);
    - premier champ s'est avec le composant du haut
    - deuxieme champs à gauche
    - 3ieme en bas
    - 4ieme a droite,
    -> en fait c'est dans le sens inverse des aiguille d'une montre

  3. #3
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    Merci bien, ça fonctionne ! Je l'allais déjà trouver auparavant mais impossible de m'en souvenir.

    Et pour ce qui est du texte qui est tronqué au niveau des boutons ? Quequ'un s'est-il comment remédier à cela ?

    Merci.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  4. #4
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Le probleme doit venir de ton GridBagLayout. Sinon pour agrandir tes composants avec Synth, tu peux utiliser une image de fond qui a la taille minimale souhaitee.

  5. #5
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    Pourtant, je n'ai pas l'impression que cela vienne de mon GridBagLayout, car la première image utilise la même mise en forme que la seconde.

    L'unique différence entre les deux, réside dans le fait que la seconde utilise Synth personnalisé.

    Pour cette raison, je pensais qu'il était possible de spécifier une taille fixe au composant (par exemple avec une property).

    Le skin Synth d'ocean le réalise, donc peut être que le mien peut aussi le faire ?

    Merci.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  6. #6
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Mais Ocean n'est pas realise avec Synth

  7. #7
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    Oups, j'avais cru cela !

    Donc pour toi, la seule technique envisageable, c'est de mettre une image avec une taille fixe pour le fond ?

    Au passage, sait-tu comment définir une taille minimale pour un cadre d'une JSplitPane ?

    Merci de ton aide.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  8. #8
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    La taille d'un split pane est generalement definie par son contenu.

  9. #9
    Membre éclairé
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Par défaut
    Je viens de mettre une image de taille fixe pour le fond du bouton avec la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <imagePainter method="buttonBackground" path="images/button_02.png" sourceInsets="0 0 0 0" />
    Et le texte tronqué :



    Mais rien n'y fait, le texte est toujours tronqué et je ne vois pas d'ou proviens le problème. Voici le code qui me permet d'afficher mes différents composants :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    gridBagLayoutDial            = new GridBagLayout();
    gridBagConstraintsDial       = new GridBagConstraints();
     
    // Dial Panel
    jPanelDial = new JPanel();
    jPanelDial.setName("jPanelDial");
    jPanelDial.setLayout(gridBagLayoutDial); // Définir le calque du panel
     
    jTextFieldDial  = new JTextField();             jTextFieldDial.setName("jTextFieldDial");
     
    jButtonMessage  = new JButton("Message");       jButtonMessage.setName("jButtonMessage");
    jButtonHoldOn   = new JButton("En Attente");    
    jButtonHoldOn.setName("jButtonHoldOn");
     
    jButtonTransfer = new JButton("Transférer");    jButtonTransfer.setName("jButtonTransfer");
     
    jButtonMessage.setHorizontalAlignment(SwingConstants.LEFT);
    jButtonHoldOn.setHorizontalAlignment(SwingConstants.LEFT);
    jButtonTransfer.setHorizontalAlignment(SwingConstants.LEFT);
     
    gridBagConstraintsDial.fill       = GridBagConstraints.BOTH;
    gridBagConstraintsDial.gridheight = 3;
    gridBagConstraintsDial.gridwidth  = 1;
    gridBagConstraintsDial.gridx      = 0;
    gridBagConstraintsDial.gridy      = 0;
    gridBagConstraintsDial.weightx    = 1;
     
    gridBagLayoutDial.setConstraints(jTextFieldDial, gridBagConstraintsDial);
    jPanelDial.add(jTextFieldDial);
     
    gridBagConstraintsDial.fill       = GridBagConstraints.HORIZONTAL;
    gridBagConstraintsDial.gridheight = 1;
    gridBagConstraintsDial.gridx      = 1;
    gridBagConstraintsDial.weightx    = 0;
    gridBagConstraintsDial.anchor     = gridBagConstraintsDial.EAST;
     
    gridBagLayoutDial.setConstraints(jButtonMessage, gridBagConstraintsDial);
    jPanelDial.add(jButtonMessage);
     
    gridBagConstraintsDial.gridy      = 1;
    gridBagLayoutDial.setConstraints(jButtonHoldOn, gridBagConstraintsDial);
    jPanelDial.add(jButtonHoldOn);
     
    gridBagConstraintsDial.gridy      = 2;
    gridBagLayoutDial.setConstraints(jButtonTransfer, gridBagConstraintsDial);
    jPanelDial.add(jButtonTransfer);
    Et voici le code du fichier XML :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    <!-- Style par défaut pour tout les boutons -->
    <style id="defaultButton">
        <object id="background" class="com.cmm.synth.BackgroundPainter" />
        <object class="javax.swing.plaf.ColorUIResource" id="startColor">
            <int>255</int>
            <int>255</int>
            <int>255</int>
        </object>
        <defaultsProperty key="Button.startBackground" type="idref" value="startColor" />
     
        <object class="javax.swing.plaf.ColorUIResource" id="endColor">
            <int>234</int>
            <int>235</int>
            <int>237</int>
        </object>
        <defaultsProperty key="Button.endBackground" type="idref" value="endColor" />
     
        <object id="border" class="com.cmm.synth.SimpleBorderPainter" />
        <object class="javax.swing.plaf.ColorUIResource" id="buttonBorderColor">
            <int>167</int>
            <int>166</int>
            <int>170</int>
        </object>
     
        <defaultsProperty key="Button.borderColor" type="idref" value="buttonBorderColor" />
     
        <state>
            <painter method="buttonBackground" idref="background" />
            <painter method="buttonBorder" idref="border" />
            <font name="Verdana" size="12" style="BOLD" />
        </state>
     
        <state value="MOUSE_OVER">
            <opaque value="true" />
            <color value="#C2CFE5" type="BACKGROUND" />
            <painter method="buttonBorder" idref="border" />
        </state>
     
        <state value="PRESSED">
            <opaque value="true" />
            <color value="#99AFD4" type="BACKGROUND" />
            <painter method="buttonBorder" idref="border" />
        </state>
    </style>
    <bind style="defaultButton" type="region" key="Button" />
     
    <!-- Style jButtonMessage -->
    <style id="jButtonMessage">
        <imageIcon id="iconMessage" path="images/letter.png" />
        <property key="Button.icon" value="iconMessage" />
     
        <insets top="2" left="4" bottom="2" right="4" />
    </style>
    <bind style="jButtonMessage" type="name" key="jButtonMessage" />
     
    <!-- Style jButtonHoldOn -->
    <style id="jButtonHoldOn">
        <imageIcon id="iconHoldOn" path="images/holdon.png" />
        <property key="Button.icon" value="iconHoldOn" />
     
        <insets top="2" left="4" bottom="2" right="4" />
    </style>
    <bind style="jButtonHoldOn" type="name" key="jButtonHoldOn" />
     
    <!-- Style jButtonTransfer -->
    <style id="jButtonTransfer">
        <imageIcon id="iconTransfer" path="images/transfer.png" />
        <property key="Button.icon" value="iconTransfer" />
     
        <insets top="2" left="4" bottom="2" right="4" />
    </style>
    <bind style="jButtonTransfer" type="name" key="jButtonTransfer" />
    Si vous avez une petite idée, de mon problème alors merci !
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  10. #10
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Je pense sincerement que ca vient de ton GridBagLayout mais la a 3h du matin j'ai du mal a le debugger juste en lisant

    Ceci est un skin Synth que j'ai fait et tu peux voir que les boutons reagissent tres bien :


Discussions similaires

  1. Probleme largeur des composants
    Par banania dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 24/04/2007, 21h03
  2. taille de fonte et largeur des composants
    Par OutOfRange dans le forum Composants VCL
    Réponses: 6
    Dernier message: 09/11/2005, 21h22
  3. [Kylix] Trouver des composants pour Kylix 3
    Par busy999 dans le forum EDI
    Réponses: 2
    Dernier message: 17/02/2003, 14h01
  4. Réponses: 1
    Dernier message: 26/01/2003, 15h13
  5. Réponses: 1
    Dernier message: 02/01/2003, 12h45

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