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

Composants Java Discussion :

Aide et questions sur le puissant "Advanced Synth"


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Aide et questions sur le puissant "Advanced Synth"
    Bonjour,

    J'utilise actuellement la librairie Synth (comme me l'a conseillé Gfx, et je vous la recommande aussi !) pour personnalisé mon interface. Pour rapport à celle-ci, j'ai certaine questions ?

    - Savez-vous s'il est possible de définir une bordure pour un composants dans passez par une ImagePainter ? Est-il possible de passer par la méthode paint[Component]Border ?

    - Je souhaiterais également personnaliser un composant JTable en lui appliquant un dégradé vertical au niveau de ses entêtes de colonnes. Savez-vous comment réaliser ceci, les aides sur internet ne sont pas très répandue pour le moment.

    Merci ... et utilisez Synth, ça vaut le coup !
    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
    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
    Tu peux creer tes propres painters si tu veux. L'imagePainter n'est qu'un painter fourni par defaut. Tu peux aussi creer des bordures classiques dans ton code avec setBorder().

    Pour les en-tete de JTable il faut utilise la sous-region appelee TableHeader (cf classes Region).

    Si tu trouves des bugs ou que tu veux d'autres fonctionnalites, n'hesite pas a me contacter, je suis le developpeur principal sur Synth en ce moment.

  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
    OK merci, je vais regarder tout ça.

    J'ai déjà skinné un partie de mon interface, et c'est un vrai bonheur de le faire. Une fois que les bases sont assimilées, c'est fou ce que l'on peut faire avec !

    ;-) Merci aussi pour cette nouveauté dans JSE 1.5, c'est vraiment excellent !

    Je te recontacte si besoin est.
    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
    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 skinner différents composants :

    - JLabel
    - JButton
    - JPanel
    - JTree

    J'en suis actuellement à skinner un composant JTable. J'ai regarder au TableHeader et TableHeader.renderer pour le titre des colonnes, et ça fonctionne correctement. Par contre, je souhaiterais appliquer une marge à l'intérieur de chaque cellule (en fait décaler vers la droite le texte de chacune d'entre d'elles car je le trouve trop près de la bordure), j'ai bien essayer avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <insets top="3" left="4" bottom="3" right="4" />
    Mais ça ne donne aucun résultat.

    Je suis également confronté à un autre problème : Je souhaite modifier la couleur de fond de la ligne selectionnée ou lorsque la souris est au dessus d'une ligne un peu comme je l'avais fait pour le JTree avec Synth mais cela ne fonctionne pas. Mon code me parrait correct pourtant :

    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
     
            <style id="defaultTable">
            <object class="javax.swing.plaf.ColorUIResource" id="gridColor">
                <int>240</int>
                <int>243</int>
                <int>248</int>
            </object>
     
            <object id="border" class="com.cmm.synth.BorderPainter" />
            <object class="javax.swing.plaf.ColorUIResource" id="topBorder">
                <int>167</int>
    	    <int>166</int>
    	    <int>170</int>
            </object>
     
             <object class="javax.swing.plaf.ColorUIResource" id="startColor">
                <int>255</int>
    	    <int>255</int>
    	    <int>255</int>
            </object>
     
            <defaultsProperty key="Table.topBorder" type="idref" value="startColor" />
            <defaultsProperty key="Table.leftBorder" type="idref" value="topBorder" />
            <defaultsProperty key="Table.rightBorder" type="idref" value="topBorder" />
            <defaultsProperty key="Table.bottomBorder" type="idref" value="topBorder" />
     
            <property key="Table.gridColor" type="idref" value="gridColor" />
            <property key="Table.rendererUseUIBorder" type="boolean" value="true"/>
            <property key="Table.rowHeight" type="integer" value="21" />
     
            <painter method="tableBorder" idref="border" />
            <state>
                <color value="#FFFFFF" type="BACKGROUND" />
                <color value="#333333" type="FOREGROUND" />
            </state>
     
             <state value="MOUSE_OVER">
                 <color value="#00FF22" type="BACKGROUND" />
                 <color value="#002244" type="FOREGROUND" />
             </state>
     
            <state value="SELECTED">
                <color value="#C2CFE5" type="BACKGROUND" />
                <color value="#002244" type="FOREGROUND" />
            </state>
        </style>
        <bind style="defaultTable" type="region" key="Table" />
    Ce code présente t-il une erreur ou je procède de la mauvaise façon ?

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

  5. #5
    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
    Une JTable utilise des JLabel par defaut comme renderers, il faut donc skinner les JLabel.

  6. #6
    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
    Et lorsque l'on veut que la sélection se réalise sur la ligne entière, ça ne pose pas de problèmes ?
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  7. #7
    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
    Il y a un etat SELECTED pour cela.

  8. #8
    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
    J'ai mis en place plusieurs bind sur différents style, à savoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <bind style="defaultTable" type="region" key="Table" />
    <bind style="defaultTableHeader" type="region" key="TableHeader" />
    <bind style="defaultTableHeaderRenderer" type="name" key="TableHeader.renderer" />
    Ces bind m'ont permis de personnaliser complètement la JTable sauf au niveau des évènements comme SELECTED, MOUSE_OVER, etc.

    J'ai essayer de mettre en place un style avec un bind sur les Label pour personnaliser les cellules d'une JTable, mais rien ni fait. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <style id="defaultTableLabelRenderer">
      <state>
        <insets top="4" left="6" bottom="4" right="6" />
        <opaque value="true" />
        <color value="#C2CFE5" type="BACKGROUND" />
      </state>
    </style>
    <bind style="defaultTableLabelRenderer" type="region" key="Label" />
    Si je mais en place un dégradé, il est pris en compte mais une couleur opaque, rien.

    Quelqu'un sait-il comment procéder pour colorer les cellules (des Label) d'une JTable ?

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

Discussions similaires

  1. aide : 3 question sur exel ?
    Par el-amr dans le forum Excel
    Réponses: 5
    Dernier message: 11/06/2011, 20h15
  2. Besoin d'aide sur Filemaker pro 8 advanced
    Par burnacid dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 29/05/2007, 09h36
  3. Réponses: 2
    Dernier message: 17/04/2007, 13h36

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