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 :

Afficher une fenêtre d'informations qui donne l'impression de se détâcher


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut Afficher une fenêtre d'informations qui donne l'impression de se détâcher
    Bonjour
    J aimeri savoir s il est possible de rajouter a une frame une sous frame qui apparaitrait lorsque l on se positionne dans des zones precises.
    Commme par exemple la barre "démarrer" de windows : on peut la configurer de telle sorte que celle ci n apparaisse pas en permanence et que lorsqu on se positionne dans son voisinage, celle ci apparait.
    Moi ce que j aimerai c est avoir une frame qui lorsque je me place tout en bas de celle ci, une petite frame apparait en dessous.
    Est ce possible ? et pourrait on me dire comment le faire ?
    Merci de votre aide

  2. #2
    Membre confirmé Avatar de calogerogigante
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Points : 497
    Points
    497
    Par défaut
    A mon avis cela doit être possible avec un MouseListener...

    Tu épies la position du curseur de la souris, relativement à la position de ta fenêtre-mère, et si les tests (ev.getX() et ev.getY() où ev est un MouseEvent) montrent que tu sors de cette zone, à toi de déclencher la création et la position d'une nouvelle fenêtre-fille...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut Fenetre masquable
    BonjurJe voudrais savoir si on peut creer des barres/fenetres masquable en java :
    tout comme la barre du menu "démarrer" de Windows, lorsqu on se place sur une zone trez voisine de cette barre, celle ci apparait et lorsqu on s en eloigne, elle se cache.
    Je voudrais svoir si on peut faire de meme en java et comment on le ferait dans ce cas la.
    merci de votre aide

  4. #4
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    bonjour,
    il me semble que calogerogigante t'a répondu ou du moins t'a mis sur la voie...
    Utilise un MouseMotionListener pour détecter les mouvements souris sur la zone "sensible" de ta fenêtre. Tu peux placer un MouseMotionListener uniquement sur un composant, ce qui signifie que la zone sensible doit faire partie d'une des fenêtres pour laquelle tu souhaites avoir cette fonctionnalité.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Salut
    Oui, en ce qui concerne la mise en ecoute de l evenement je suis d accord, mon probleme c est de savoir comment faire pour que ma sous fenetre apparaisse en donnant l effet que celle ci glisse de ma fenetre courrante...
    Merci de votre aide

  6. #6
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    En agissant sur sa position à l'écran via la méthode setLocation().
    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
    void slideComponent(Component comp, int steps, int dx, int dy, int delay) {
      new Slider(comp, steps, dx, dy, delay).start();
    }
     
    static class Slider extends Timer implements ActionListener {
      private Component comp;
      private int steps;
      private int dx;
      private int dy;
     
      public Slider(Component comp, int steps, int dx, int dy, int delay) {
        super(delay, null);
        this.comp = comp;
        this.steps = steps;
        this.dx = dx;
        this.dy = dy;
        addActionListener(this);
      }
     
      public void actionPerformed(ActionEvent ev) {
        if (steps <= 0) {
          stop();
          comp = null;
        } else {
          steps--;
          Point location = comp.getLocation();
          location.x += dx;
          location.y += dy;
          comp.setLocation(location);
        }
      }
    }

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Salut
    Je te remercie pour ton aide.
    Cela dit, si ca ne te derange pas, j aimerai que tu m expliques a quoi correspondent les differents parametres que l on doit entrer pour creer une instance de type slider STP.
    Je te remercie encore

  8. #8
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    bonjour,
    ben je ne l'ai pas fait car je pensais que c'était self-explainatory en lisant le code... En fait, il te suffit d'appeler la méthode slideComponent qui va faire glisser un composant à l'écran selon les paramètres suivants :
    le composant à faire glisser, par ex. une JFrame.
    le nombre d'étapes du glissement, constitué de translations successives.
    la translation à appliquer en x à chaque étape du glissement.
    la translation à appliquer en y à chaque étape du glissement.
    le délai entre les translations.
    Par exemple, pour un glissement vertical de 100 pixels par pas de 5 pixels toutes les 50 milli-secondes (donc au total le glissement aura lieu pendant 1s) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    slideComponent(comp, 20, 0, 5, 50);

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Je te remercie encore une fois pour tout.
    Je vais tester et je te tiens au courant
    Encore merci

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Re Salut et desole de te deranger mais j ai encore un probleme...
    Le voici :
    J ai une JFrame principale a laquelle je voudrais rajouter une sous JFrame glissante lorsque l on se place dans une certaine zone.
    J ai rajoute le code que tu m as donne mais lorsque j ouvre ma JFrame principale, la sous JFrame issue de ton code est créée, glisse bien mais elle apparait tout de suite et non pas lorsque je me place sur une certaine zone. De plus, je n arrive pas a lui donner une taille et encore moins a la positionner ou je veux par rapport a ma JFrame principale ( d origine, elle est créée en haut a gauche de mn ecran ).
    Si tu pouvais m apporter encore une fois ton aide, je te serais gré.
    Merci d avance.

  11. #11
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Citation Envoyé par jean_bobi
    J ai rajoute le code que tu m as donne mais lorsque j ouvre ma JFrame principale, la sous JFrame issue de ton code est créée, glisse bien mais elle apparait tout de suite et non pas lorsque je me place sur une certaine zone.
    De plus, je n arrive pas a lui donner une taille et encore moins a la positionner ou je veux par rapport a ma JFrame principale ( d origine, elle est créée en haut a gauche de mn ecran ).
    Le code permettant d'afficher la "sous" JFrame et de la faire glisser doit être placé dans le MouseListener ou MouseMotionListener (suivant ce qui doit déclencher l'affichage) décrit qq messages plus haut. Tu peux t'aider d'une classe intermédiaire :
    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
     
    class SlaveFrame extends JFrame {
      private JFrame master;
     
      public SlaveFrame(JFrame master) {
        this.master = master;
      }
     
      public void setVisible(boolean visible) {
        if (visible != isVisible()) {
          if (visible && master.isVisible()) {
            /*
             * Localiser par rapport à la frame principale
             */
            Point location = master.getLocation();
            setLocation(location.x + ..., location.y + ...);
            slideComponent(this, steps, dx, dy, delay);
          }
          super.setVisible(visible);
        }
      }
    }
    Pour fixer une taille, utilise la méthode setSize(). J'espère que cela t'aidera. Bon courage.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Encore un grand merci.
    J essaierai de me debrouiller avec toute cette aide.
    A bientot

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2015, 07h54
  2. Réponses: 4
    Dernier message: 28/02/2010, 11h08
  3. Réponses: 4
    Dernier message: 04/04/2007, 10h37
  4. Afficher une Fenêtre MDI à partir d'une DLL
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/12/2005, 16h58
  5. Réponses: 1
    Dernier message: 16/02/2005, 12h04

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