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

AWT/Swing Java Discussion :

JComboBox : Déroulement du bas vers le haut


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 128
    Par défaut JComboBox : Déroulement du bas vers le haut
    Bonsoir,

    J'aimerais créer un JComboBox tel que, celui-ci créer, lorsque l'on essaye d’accéder à un item de ce JComboBox, le menu popup qui s'affiche se fasse non pas du haut vers le bas, mais du bas vers le haut.
    En d'autres terme, "j'aimerais que lorsque je clique sur mon JComboBox, la liste des items s'affichent en haut du JComboBox".

    A part refaire moi même une JComboBox, je n'ai rien trouvé qui puisse m'aider.

    Merci

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 128
    Par défaut
    J'ai trouvé la solution.. Bon il a fallu que je passe par des sites bizarres et non français, mais j'y suis arrivé.

    Les ingrédients :
    -1 JFrame (avec panel si vous souhaitez), on va l’appeler fenetre.
    -1 JComboBox, on va l’appeler listeDeroulante.

    Conditions :
    -Fenetre doit implémenter PopupMenuListener.
    -listeDeroulante doit par défaut implanter un BasicComboPopup.

    Code : Listener qui écoute les popups dont celui fait par listeDeroulante : Sélectionner tout - Visualiser dans une fenêtre à part
    listeDeroulante.addPopupMenuListener(fenetre);

    Code : Les méthodes héritées par le listener : 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
    	public void popupMenuCanceled(PopupMenuEvent arg0) {
    	}
     
    	public void popupMenuWillBecomeInvisible(PopupMenuEvent arg0) {
    	}
     
    	public void popupMenuWillBecomeVisible(PopupMenuEvent arg0) {
    		JComboBox listeDeroulante = (JComboBox)arg0.getSource();
     
    		if (listeDeroulante.getItemCount() == 0) return;
     
    		Object child = listeDeroulante.getAccessibleContext().getAccessibleChild(0);
     
    		if (child instanceof BasicComboPopup)
    		{
    			Point parent = ((BasicComboPopup)child).getInvoker().getLocationOnScreen();
    			int height = ((BasicComboPopup)child).getPreferredSize().height;
    			((BasicComboPopup)child).setLocation(parent.x, parent.y - height);
    		}
    	}

    Voilà voilà, ça servira surement à d'autres.

    Bonne soirée.

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

Discussions similaires

  1. [CSS 3] Transition d'un div du bas vers le haut de px à %
    Par Invité dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/09/2014, 13h14
  2. [VB6]rendre direction Y pictureBox du bas vers le haut
    Par DATA MINER dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/06/2014, 04h04
  3. Réponses: 2
    Dernier message: 05/06/2011, 11h02
  4. [MooTools] Comment faire un slide mootool du bas vers le haut?
    Par google_c# dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 21/10/2010, 10h59
  5. TIA/EIA 568A : detrompeur vers le haut ou vers le bas
    Par devlopassion dans le forum Hardware
    Réponses: 3
    Dernier message: 02/11/2008, 21h56

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