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

JavaFX Discussion :

[Débutant] Passer un composant graphique devant ou derrière un autre


Sujet :

JavaFX

  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut [Débutant] Passer un composant graphique devant ou derrière un autre
    Bonjour,

    j'ai créé deux panels en javaFx et je souhaite que, en cliquant sur l'un d'entre eux, il passe au premier plan (devant l'autre).



    J'ai repéré deux méthodes toFront() et toBack() mais après avoir fait des recherches sur internet, il semblerait que ces 2 méthodes n'ont pas l'air de fonctionner.

    Quelqu'un aurait une idée ?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    J'ai l'impression d'être seul au monde à faire du JavaFX

    Est-ce que quelqu'un connaît une communauté active de développeurs JavaFX sur le web ? En tant que débutant j'ai vraiment beaucoup de mal à trouver de l'aide pour progresser...

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Probablement sur les forums de Sun

    http://forums.sun.com/category.jspa?categoryID=132

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut
    Citation Envoyé par danyboy85 Voir le message
    J'ai l'impression d'être seul au monde à faire du JavaFX
    Il n'y a pas que l'interface graphique JavaFX dans JAVA

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    Et c'est vraiment trop récent pour que des tas de gens l'utilisent.

    Chez moi cela fonctionne si mes deux objets sont dans un Group. Et j'utilise activement ces méthodes associées avec des onMouseClicked et autre...

    Attention cependant les effets en sont différents quand on utilise un HBox (déplacement de l'objet vers la droite ou la gauche) et un VBox (déplacement de l'objet vers le haut ou le bas).

    Bref là il faudrait poster un minimum de code voir un exemple qui tourne qu'on puisse tester la chose et qu'on sache comment tu as organisé ta scène.
    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

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Bonjour à tous,

    Je déterre le topic car je suis dans la même situation que danyboy85...

    En fait le contenu de ma scene est bindé sur une séquence.

    Chaque élément de cette séquence est un Group.

    Je cherche à faire passer un élément de la séquence au premier plan via la méthode toFront (appliquée donc sur un Group), mais à l'exécution, une exception est levée: "Cannot mutate bound sequence".

    Quelqu'un a-t-il réussi à percer les mystères du z-index de JavaFX et pourrait donc m'aider?

    Merci en tous les cas

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    Montre-nous ton code STP.
    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

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Février 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 284
    Par défaut passer un object deavant l'autre.
    Ya bien sure un réponse sur ce forum ainsi que sur le forum de javaFX.
    bon pour les flemmards
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //...
    var g = Group {
         content: [
                for (n in [0..10]) 
                      var r = Rectangle{
                      onMouseClicked {
                           remove r from g.content;
                           insert r into g.content;
                      }
                }
         ]
    }
    le dernier element de g.content sera affiché en dernier.
    donc on le retire puis on l'ajoute ce qui le mettra au dessus des autres.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Désolé pour le temps de réponse, j'étais en vacances

    Merci pour ta réponse galien mais j'ai bien parcouru les forums et vu cette solution, seulement elle ne me convient pas:

    En fait, le changement de z-index doit se faire lorsque l'utilisateur drag une forme, donc si je la supprime puis la ré-insère, il va y avoir un laps de temps pendant lequel la forme va disparaitre. De plus, j'imagine que le drag va être stoppé si je fais cette manip?

    Je vous met un bout de code:

    DayEvent est un un objet représentant un rectangle.
    eventDisplay est rempli dynamiquement.

    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
     
    public var eventDisplay: DayEvent[];
     
    ...
     
     
    Group {
        content: [
            getRows()
            getHalfRows()
            Group{
                content: bind eventDisplay
            }
        ]
        onMouseDragged: function(e:MouseEvent) {
            //println(e.dragAnchorY);
        }
    }
    Partie du code d'un objet DayEvent:

    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
     
    public class DayEvent extends CustomNode{
     
    ...
     
     
    Rectangle {
        x: 1
        y: bind graphicEventY
        width: DayComponents.rowsWidth - 2
        height: bind graphicEventHeight-15
        fill: Color.TRANSPARENT
        cursor: Cursor.HAND
        visible: bind canModify
     
        onMouseDragged: function(e:MouseEvent) {
            if (isSetToFront == false) {
                this.setToFront();
                isSetToFront = true;
            }
     
            eventOpacity = 0.5;
            graphicEventY = DayController.moveEvent(event, initEventY, e.dragY, initStartEventHour, initStartEventMinutes, initEndEventHour, initEndEventMinutes);
        }
    }
     
    ...
     
    function setToFront() {
        this.toFront();
    }
    ...
     
    }
    Si vous voulez plus de précisions ou des explications, n'hésitez pas à me le demander

    Merci à vous!!!

  10. #10
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par dark$hadow Voir le message
    En fait, le changement de z-index doit se faire lorsque l'utilisateur drag une forme, donc si je la supprime puis la ré-insère, il va y avoir un laps de temps pendant lequel la forme va disparaitre. De plus, j'imagine que le drag va être stoppé si je fais cette manip?
    Je ne pense pas ; après tout c'est probablement ce que fait déjà l'implémentation par défaut de toFront() et toBack().
    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

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Je vais tester je vous tiens au courant.

    [EDIT] Je viens de résoudre mon problème...

    En fait mon problème venait du binding des nœuds.

    J'ai juste affiché les nœuds manuellement et tout à fonctionné.

    Merci pour votre aide

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/08/2010, 15h11
  2. Composant graphique multiple (ou dérivé d'un TFrame)
    Par Jean Bovet dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/04/2007, 18h57
  3. [Composant Graphique] List Box "synchronisés"
    Par Raideman dans le forum C++Builder
    Réponses: 9
    Dernier message: 03/11/2006, 19h50
  4. [QuickReport][Débutant] Affichage d'un graphique
    Par poufouille dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/03/2004, 09h03
  5. Réponses: 7
    Dernier message: 08/08/2003, 18h09

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