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 :

[JXTable] Cumul de Highlighter particuliers


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut [JXTable] Cumul de Highlighter particuliers
    Bonjour à tous,

    J'essaie d'utiliser une JXTable (j'y suis obligée car elle permet une utilisation multiple des Filters) et j'essaie de créer des Highlighter particuliers, mais je ne vois vraiment comment.

    J'essaie de cumuler : un Highlighter crée avec HighlighterFactory.createAlternateStriping(), puis deux autres qui mettrait les cellules non éditables en une autre couleur et enfin un autre pour les nouvelles lignes ajoutées.

    Je n'ai trouvé aucun moyen ni de doc particuliere sur le sujet. A défaut, bien sur il est possible de créer un Renderer pour chaque cellule mais c'est ce que j'aimerais éviter, car mes cellules peuvent changer de statut (editable -> non éditable) et donc ça serait très lourd.

    Si quelqu'un a une idée du chemin à prendre, je suis toute ouïe,

    Merci beaucoup

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Bon je patauge toujours, mais en fait le problème que je rencontre particulièrement est que j'ai l'impression qu'il manque des classes .

    J'ai la version .9.3 (http://swinglabs.org/downloads.jsp) et je n'ai pas accès par exemple à la classe RolloverHighlighter... (également absente de la javadoc) Alors que celle ci devrait être présente depuis la version .8 (et là est présente dnas la javadoc). Est ce que quelqu'un a une quelconque info à ce propos ?


    Merci

  3. #3
    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 : 45
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Beaucoup de classes sont purement et simplement supprimées d'une version à l'autre, au lieu de les passer en "deprecated". J'ai eu ce problème notamment avec des Highligter justement.
    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.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Ah bah mince

    Ca risque d'être particulièrement embêtant ça pour le futur si ils continuent à faire ça.

    Il n'y a rien de publié là dessus ?

  5. #5
    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 : 45
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ils disent ouvertement que SwingLabs est un laboratoire open source.
    Dans la FAQ, on peut lire :
    SUN MAKES NO GUARANTEES FOR CURRENT OR FUTURE SUPPORT OR DEVELOPMENT FOR ANY OF THESE COMPONENTS
    Voici un thread qui aborde le sujet.
    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.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mais bon la version actuelle est celle qui sera probablement dans la future release 1.0
    Ils sont plutôt passé en mode bugfixe et freeze.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Bon à priori je resterai sur l'utilisation de SwingX qui est tout de même très joli et très pratique !

    Mais donc pardon de uper un peu le problème, je suis toujours perdue dessus. Personne n'aurait d'idée sur la façon dont manipuler les Highlighters ?

    Donc je penche plutôt vers le cumul de Renderer.

    Bonne journée

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    J'peux pas répondre directement là, ça attendra ce soir si j'ai le temps.

    De plus l'utilisation des renderers dans une JXTable est différente de celle d'une JTable normale, pour certaines raisons qu'il faudrait retrouver.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Bon ce n'est pas encore bien clair parce que je ne trouve pas de tuto sur le sujet mais grosso modo je pense que la réponse se situe dans le fait d'ajouter à la liste des Hightlighters de nouveaux Highlighters (ColorHighlighter, BorderHighlighter....) avec des HighlighPredicate:

    http://swinglabs.org/hudson/job/Swin...Predicate.html

    Enfin si quelqu'un a une idée un peu plus précise de la chose cela m'intéresse toujours autant

    Si je m'en sors je posterai un exemple !

    Bonne journée à tous,

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    En gros cela ressemble à ça :

    Après pour le coup des nouvelles lignes cela doit y ressembler pas mal !

    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
     
    import org.jdesktop.swingx.JXTable;
    import org.jdesktop.swingx.decorator.ComponentAdapter;
    import org.jdesktop.swingx.decorator.HighlightPredicate;
    import org.jdesktop.swingx.decorator.HighlighterFactory;
     
     
    public class NonEditableHighlightPredicate implements HighlightPredicate {
     
    	public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
    		if (adapter.isEditable())
    			return false;
    		return true;
    	}
    }

    ainsi que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    _table.setHighlighters( HighlighterFactory.createAlternateStriping() ,
    				new ColorHighlighter( new NonEditableHighlightPredicate(), null, Color.gray));
    En fait l'exemple m'a été soufflé par ce post :
    http://www.developpez.net/forums/d50...couleur-ligne/

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Bon en fait cela fonctionne sauf pour les cellules sur lesquelles il y a une Combobox :

    J'ai setter le CellEditor à une combobox et le CellRenderer à un JTextField. Bizarrement lorsqu'elles sont éditables ( dans ma fonction if (adapter.isEditable()) cela retourne bien true), la cellule est tout de même grisée

    Quelqu'un a-t-il déjà vaguement eu le même problème ?

    Merci,

  12. #12
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En ce qui concerne la JXTable il ne faut pas utiliser les renderers standards, mais un DefaultTableRenderer auquel tu fournis un ComponentProvider (pour fournir un composant customisé) ou une StringValue qui renvoie la représentation en chaine d'un objet.

    Les editors par contre ça ne bouge pas.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Extra oui, ça fonctionne maintenant

    SwingX est vraiment magnifique !

    Merci beaucoup sinok

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2009, 21h27
  2. JXTable - Highlighter - Gras
    Par lhpp dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 10/04/2008, 13h19
  3. Select particulier .
    Par hamed dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/11/2003, 15h45
  4. [SynEdit][HighLighter] Detection d'attributs
    Par Mercilius dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/11/2003, 16h28
  5. [debutant] les processus se cumulent
    Par glurps dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 17/06/2003, 10h24

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